Sisteme de Operare

Previzualizare curs:

Extras din curs:

Un sistem de operare poate fi vazut ca o colectie de rutine software ce ofera utilizatorului posibilitatea folosirii eficiente a sistemului de calcul, concurând la dezvoltarea programelor de aplicatie. El gestioneaza resursele sistemului de calcul, cum ar fi procesorul, memoria si dispozitivele de intrare/iesire.

Sistemul de operare apare ca o interfata între componenta hardware a unui sistem de calcul si utilizator. Programele de aplicatie folosesc facilitatile oferite de acesta pentru a obtine accesul la resursele sistemului de calcul : fisiere, dispozitive de intrare/iesire.

Una din functiile majore ale unui sistem de operare este de a optimiza utilizarea tuturor resurselor unui sistem de calcul : timp unitate centrala, spatiu de memorie interna, registre, dispozitive de intrare/iesire.

Evolutia sistemelor de operare

Prelucrarea seriala

Primele calculatoare, fabricate între anii 1945 - 1955 dispuneau numai de echipamentul hard. Aceste calculatoare apartineau generatiei întâi de calculatoare si aveau la baza constructiei lor tuburile electronice. La acest sistem de calcul, programatorul introducea programul (codificat în binar sau hexazecimal) în memorie, de la o consola sau un panou. Programele erau lansate în executie prin încarcarea adresei primei instructiuni în registrul numarator de program (PC). Rezultatele erau obtinute prin examinarea unor registri sau locatii de memorie. Dispozitivele de intrare/iesire, daca existau, trebuiau controlate direct de catre program, prin citirea sau scrierea la porturi. Evident, programarea în limbaj masina determina o productivitate mica atât din punctul de vedere al utilizatorului, cât si din punctul de vedere al hardware-ului.

Aparitia tranzistorului a revolutionat construirea echipamentelor de calcul (generatia a doua). Apar primele echipamente periferice : cititorul de cartele, imprimanta, banda magnetica. Pentru utilizarea noilor echipamente de I/O sunt programate rutine de interfata, drivere, care asigura legatura dintre dispozitivul I/O, memorie si UCP. Aceste rutine sunt considerate, istoric, ca primele programe care fac parte dintr-un sistem de operare. Ele erau grupate în biblioteci si puteau fi apelate de catre programele de aplicatie, editorul de legaturi ocupându-se de includerea lor în codul obiect al programului.

Apar de asemenea programe software : compilatoare, editoare de texte, încarcatoare, programe de depanare (debugger). Aplicatiile, scrise în limbaje de programare, sunt transformate în cod masina de catre compilatoare. Un alt program, numit încarcator, se ocupa de încarcarea programului executabil în memorie. Utilizatorul plaseaza programul si datele de intrare la un dispozitiv de intrare. Încarcatorul transfera programul în memorie si executia poate începe. Programul executabil citeste datele de la dispozitivul de intrare si trimite rezultatele la un dispozitiv deiesire, cum ar fi imprimanta sau ecranul monitorului. Odata încarcat în memorie, programul poate rula pe diverse seturi de date de intrare.

Rutinele de I/O si programul încarcator fac parte din sistemul de operare; compilatoarele, editoarele de texte si programele de depanare sunt programe sistem, ele nefacândparte din sistemul de operare.

Dezavantajul acestor sisteme este faptul ca este necesara prea des interventia umana. Astfel, operatorul este cel care lanseaza în executie citirea cartelelor, încarca de pe banda (sau cartele, disc, tambur) compilatorul si îl lanseaza în executie. Urmeaza încarcarea programului compilat în memorie si lansarea acestuia în executie.

Prelucrarea în loturi

Urmatorul pas în evolutia sistemelor de operare a fost automatizarea secventelor de operatii necesare dezvoltarii si executarii programelor. Scopul a fost cresterea utilizarii resurselor si productivitatii programarii prin reducerea sau chiar eliminarea operatiilor manuale.

Vom numi faza de elaborare a unui program una dintre urmatoarele activitati :

- editarea textului sursa al programului;

- compilarea unui program;

- editarea legaturilor unui program;

- lansarea în executie a programului;

- depanarea programului.

Prin lucrare vom întelege o succesiune de astfel de faze relative la un program.

Interventia umana între faze presupune o mare pierdere de timp si o utilizare ineficienta a echipamentului. Pentru îmbunatatirea performantelor, a aparut conceptul de încarcare automata a lucrarilor si a fazelor. Pentru aceasta a fost creat un mic program rezident, denumit monitor, care are ca principala sarcina asigurarea înlantuirii lucrarilor si fazelor. Programatorul trebuie sa insereze, printre cartelele programului si ale datelor sale, unele cartele speciale numite cartele de comanda, care se adreseaza acestui monitor rezident. Pentru ca acesta sa le recunoasca, cartelele de comanda au în primele coloane simboluri speciale. Prin aceasta regula de diferentiere s-a definit de fapt un limbaj de control al lucrarilor. Prin intermediul lui se comanda trecerea de la o faza la alta sau de la o lucrare la alta.

Monitorul contine pe lânga încarcator si rutinele I/O si un interpretor de comenzi, capabil sa recunoasca si sa execute o serie de comenzi cum ar fi LOAD si RUN.

Monitorul rezident este acum programul permanent activ. Pentru desfasurarea înlantuirilor de faze, este necesar ca operatiile I/O sa fie facute de catre monitor si nu de catre programul utilizator, pentru a depista cartelele ce-i sunt adresate (cartelele de comanda). Toate cererile de I/O ale utilizatorului sunt solicitate de acesta monitorului prin intermediul apelurilor sistem.

De asemenea, programului utilizator nu-i este permis sa modifice zona de memorie a monitorului rezident si nici sa comande oprirea întregului sistem. Daca nu ar fi asa, înlantuirea automata a fazelor si lucrarilor ar putea fi compromisa.

Iata deci ca unele comenzi nu sunt accesibile utilizatorilor. Apar, astfel, doua moduri de lucru :

- monitor ( sau supervizor, master, sistem, privilegiat), în care pot fi folosite toate facilitatile sistemului;

- utilizator (sau slave, neprivilegiat), în care apar unele restrictii.

Prelucrarea în loturi reuseste sa îmbunatateasca utilizarea resurselor sistemului. Totusi, timpul între intrarea unei lucrari si momentul când iesirea sa este receptionata poate fi destul de lung, datorita operatiilor I/O. Pentru micsorarea acestui timp, se folosesc canale DMA, controlere de periferice si mai târziu procesoare dedicate operatiilor de I/O, ceea ce determina ca operatiile de I/O sa poata fi executate în paralel cu executia programului.

Observații:

Procese in Unix, Sicronizarea cu monitorul, semafoare

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • curs3+4.doc
  • curs5_SO.doc
  • curs6.DOC
  • SO-curs1.doc
  • SO-curs2.doc
  • SO-curs7.doc
  • SO-curs8.DOC
  • SO-curs9.DOC
  • SO-cursA.doc
  • SO-cursB.doc
  • So.pdf
Alte informații:
Tipuri fișiere:
doc, pdf
Nota:
9/10 (4 voturi)
Nr fișiere:
11 fisiere
Pagini (total):
134 pagini
Imagini extrase:
137 imagini
Nr cuvinte:
59 671 cuvinte
Nr caractere:
307 141 caractere
Marime:
728.53KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Sisteme de Operare
Predat:
la facultate
Materie:
Sisteme de Operare
Profesorului:
Larionescu Andrei
Sus!