Structura sistemului informatic

Ce reprezintă un sistem informatic? În primul rând, din ceea ce se numește în țările vorbitoare de limbă engleză cuvântul hardware sau suport tehnic: procesorul. memorie, monitor, dispozitive de disc, etc. Acestea sunt conectate printr-o conexiune trunchi, care se numește autobuz. Unele informații despre arhitectura calculatorului sunt disponibile în Anexa 1 la această prelegere.







În al doilea rând, sistemul informatic constă în software. Tot software-ul este împărțit în două părți: aplicație și sistem. Pentru software de aplicație, de regulă, includ o varietate de servicii bancare și alte software-uri de afaceri, jocuri, procesoare de text, și așa mai departe. N. Sub software-ul sistemului de obicei se referă la programe care contribuie la exploatarea și dezvoltarea de aplicații. Trebuie remarcat faptul că diviziunea software-ului aplicat și a sistemului este parțial condiționată și depinde de cine efectuează o astfel de divizare. Deci, un utilizator obișnuit, neexperimentat în programare, poate considera Microsoft Word ca un program de sistem, dar, din punct de vedere al programatorului, este o aplicație. Compilatorul C pentru un programator obișnuit este un program de sistem, iar pentru un programator de sistem este un program de aplicații. În ciuda acestei fețe fuzzy, această situație poate fi afișată ca o secvență de straturi (vezi Figura 1.1), subliniind separat partea cea mai comună a software-ului sistemului - sistemul de operare:


Fig. 1.1. Straturi de software de sistem informatic

Toate subiectele din această secțiune:

Sistem de operare ca mașină virtuală
La dezvoltarea sistemului de operare, abstractizarea este utilizată pe scară largă, ceea ce reprezintă o metodă importantă de simplificare și vă permite să vă concentrați asupra interacțiunii componentelor de nivel înalt

Sistem de operare ca manager de resurse
Sistemul de operare este conceput pentru a gestiona toate componentele unei arhitecturi foarte complexe a calculatorului. Imaginați-vă, de exemplu, ce se întâmplă dacă mai multe programe rulează pe același computer

Sistemul de operare ca protector al utilizatorilor și al programelor
În cazul în care sistemul informatic permite lucrul în comun al mai multor utilizatori, atunci apare problema organizării funcționării lor în condiții de siguranță. Este necesar să se asigure siguranța informațiilor de pe disc

Sistemul de operare este ca un kernel care funcționează în mod constant
În cele din urmă, puteți da o definiție: un sistem de operare este un program care funcționează în mod constant pe computer și interacționează cu toate programele de aplicații. Casal

O scurtă istorie a evoluției sistemelor informatice
Vom analiza istoria dezvoltării computerelor, mai degrabă decât a sistemelor de operare, deoarece hardware-ul și software-ul au evoluat împreună, exercitând influență reciprocă q

Apeluri de sistem
În orice sistem de operare, este acceptat un mecanism care permite programelor utilizatorilor să acceseze serviciile din kernel-ul sistemului de operare. În sistemele de operare ale bufnițelor cele mai renumite

întrerupe
O întrerupere hardware este un eveniment generat de un dispozitiv extern (cu privire la procesor). Prin întreruperi hardware, echipamentul sau inf.

excepții
Situația excepțională (excepție) este un eveniment care apare ca urmare a încercării de a executa un program printr-o comandă, care, din anumite motive, nu poate fi executată până la sfârșit. etc.

Miez monolitic
De fapt, sistemul de operare este un program obișnuit, așadar ar fi logic să îl organizăm în același mod în care majoritatea programelor sunt organizate, adică să se compună din proceduri și funcții. În asta

Sisteme pe mai multe niveluri (sisteme stratificate)
Continuând structurarea, puteți rupe întregul sistem de calcul într-un număr de nivele mai mici, cu legături bine definite între ele, astfel încât obiectele de nivel N pot apela numai obiecte ur

Mașini virtuale
La începutul lecției, am vorbit despre privirea sistemului de operare ca o mașină virtuală, atunci când utilizatorul nu are nevoie să cunoască detaliile dispozitivului intern al calculatorului. E treaba

Microkernel arhitectura






Tendința actuală în dezvoltarea sistemelor de operare este de a transfera o parte semnificativă a codului sistemului la nivelul utilizatorului și de a minimiza simultan nucleul. E vorba de abordare

Sisteme mixte
Toate abordările luate în considerare la construirea sistemelor de operare au avantajele și dezavantajele acestora. În majoritatea cazurilor, sistemele de operare moderne utilizează combinații diferite

Implementarea multitasking-ului
Prin numărul de sarcini efectuate simultan, sistemele de operare pot fi împărțite în două clase: multitasking (Unix, OS / 2, Windows); un singur task (de exemplu, MS-DO

multiprocesare
Până de curând, sistemele de calcul aveau o unitate centrală de procesare. Ca urmare a cerințelor de performanță, sistemele multiprocesor

Sisteme în timp real
În categoria sistemelor de operare multitasking, împreună cu sistemele de pachete și sistemele de partajare a timpului, sistemele în timp real care nu au fost menționate anterior

Unele informații despre arhitectura calculatorului
Principalele componente hardware ale computerului sunt: ​​memoria principală, unitatea centrală de procesare și dispozitivele periferice. Pentru a face schimb de date între ele, aceste componente sunt conectate printr-un grup de fire

Interacțiunea cu periferice
Dispozitivele periferice sunt concepute pentru introducerea și transmiterea informațiilor. Fiecare dispozitiv are de obicei un calculator dedicat, numit controller sau adaptor. când CONTROL

Robin rotund (RR)
Modificarea algoritmului FCFS este un algoritm numit Round Robin (Robin rotund este un fel de carusel copil în SUA) sau abreviat RR. De fapt, acesta este același algoritm, doar real

Cel mai scurt loc de muncă (SJF)
La analizarea algoritmilor FCFS și RR, am văzut cât de important este ca ei să comande procese în coada de procese gata pentru execuție. Dacă sunt localizate sarcini scurte în

Planificare garantată
Cu munca interactivă a utilizatorilor N din sistemul informatic, puteți aplica un algoritm de planificare care să asigure că fiecare utilizator are la dispoziție

Planificarea prioritară
SJF și algoritmii de programare garantată sunt cazuri speciale de planificare prioritară. În planificarea priorităților, fiecărui proces i se atribuie o anumită valoare numerică

Cea mai multe niveluri
Pentru sistemele în care procesele pot fi ușor sortate în grupuri diferite, a fost dezvoltată o altă clasă de algoritmi de programare. Pentru fiecare grup de procese, se creează o coadă de proces separată,

Cresterea feedback-ului multi-nivel
Dezvoltarea ulterioară a algoritmului de coadă pe mai multe niveluri este adăugarea unui mecanism de feedback. Aici procesul nu este întotdeauna alocat unei anumite coadă, dar poate migra dintr-o singură coadă

Cerințe pentru algoritmi
Organizarea excluderii reciproce pentru zonele critice, desigur, va împiedica apariția unei condiții de rasă, dar nu este suficientă pentru o funcționare paralelă corectă și eficientă a cooperativei

Întrerupeți blocarea
Cea mai simplă soluție la problemă este următoarea organizare a prologului și a epilogului: în timp ce (o anumită condiție) <запретить все прерывания critical section разрешить все прерывания rem

Variabilă-blocare
Ca următoarea încercare de a rezolva problema pentru procesele utilizatorilor, luați în considerare o altă propunere. Luați o variabilă care este accesibilă tuturor proceselor, cu o valoare inițială de 0. Pro

Alternare strictă
Să încercăm să rezolvăm problema mai întâi pentru două procese. Următoarea abordare va utiliza, de asemenea, o variabilă comună pentru ambele cu o valoare inițială de 0. Numai acum nu va juca rolul blocării pentru

Steaguri pregătite
Dezavantajul algoritmului anterior este că procesele nu știu nimic despre starea reciprocă la momentul actual. Să încercăm să rezolvăm această situație. Lăsați două dintre procesele noastre

Algoritmul lui Peterson
Prima soluție a problemei, care a satisfăcut toate cerințele și a folosit ideile algoritmilor considerate anterior, a fost propusă de matematicianul danez Dekker (Dekker). În 1981, Peterson (Peterson)

Algoritmul de panificație
Algoritmul lui Peterson ne dă o soluție la problema organizării corecte a interacțiunii a două procese. Să analizăm acum algoritmul corespunzător pentru n procesele de interacțiune, care dă

Suport hardware pentru excluderi reciproce
Prezența suportului hardware pentru excluderi reciproce face posibilă simplificarea algoritmilor și creșterea eficienței lor în același mod ca în alte domenii de programare. Ne-am adresat deja

Comanda Test-and-Set (verificați și atribuiți 1)
Despre comanda Test-and-Set, care verifică valoarea unei variabile booleene cu instalarea simultană a valorii sale la 1, poate fi considerat ca îndeplinind funcțiile int Test_and_Set (i

Comanda swap (valori de schimb)
Puteți ilustra executarea comenzii Swap care schimbă două valori stocate în memorie cu următoarea funcție: void Swap (int * a, int * b) aplica

Implementarea de monitoare și trimiterea de mesaje utilizând semafoare
Luați în considerare mai întâi cum să implementați monitoarele folosind semafoare. Pentru aceasta, trebuie să putem implementa excluderi reciproce la intrarea în monitor și variabile condiționale. Luați semaforul mutex de la început

Implementarea semaphorelor și trimiterea de mesaje utilizând monitoare
Este suficient să arătăm că folosirea monitoarelor este posibilă pentru implementarea semaphorelor, deoarece suntem deja capabili să primim mesaje din semafoare. Cea mai simplă modalitate de a face acest lucru este după cum urmează

Implementarea semaphorelor și a monitoarelor utilizând coaje de mesaje
În cele din urmă, vom arăta cum să implementăm semaphorele utilizând cozi de mesaje. Pentru a face acest lucru, folosim un design mai viclean, introducând un nou proces de sincronizare. Acest proces are un contor și o coadă







Articole similare

Trimiteți-le prietenilor: