Cel.ro

Organizarea şi componentele unui sistem de operare

by gmp
Published on: 13 June 2011
Comments: No Comments

La nivelul unui sistem de calcul există două categorii de programe:

- programe de sistem (sistemul de operare) – colecţie de programe care coordonează activitatea componentelor fizice şi oferă utilizatorului posibilitatea folosirii eficiente a sistemului de calcul, concurând la dezvoltarea programelor de aplicaţie. Software-ul de sistem include:

  • Translatoare
  • Interpretoare de comenzi
  • Editoare de texte şi legături

- programe de aplicaţii – destinate să rezolve probleme specifice unei clase de probleme ale utilizatorilor. Software-ul de aplicaţie include:

  • Procesoare de texte
  • Programe de calcul tabelar
  • Programe pentru bazele de date
  • Navigatoare Web
  • Instrumente pentru dezvoltare aplicaţii
  • Produse pentru editare imagini/video

Sistemul de operare = interfaţă între componenta hardware a unui sistem de calcul şi programele de aplicaţie ale utilizatorului

Funcţiile unui sistem de operare

a) pregătirea şi lansarea în execuţie a programelor de aplicaţie (dezvoltarea interactivă a unui task)
b) alocarea resurselor necesare executării programelor prin identificarea programelor ce se execută, a necesarului de memorie şi a dispozitivelor periferice, identificarea şi protecţia colecţiilor de date
c) gestiunea fişierelor şi directoarelor prin programele utilitare disponibile
d) planificarea execuţiei lucrărilor după anumite criterii (timp de execuţie, priorităţi, tehnica FIFO, LIFO etc.) pentru utilizarea eficientă a UCP în cazul lansării mai multor programe în execuţie
e) coordonarea execuţiei mai multor programe prin urmărirea modului de execuţie a instrucţiunilor programelor, depistarea şi tratarea erorilor, lansarea în execuţie a operaţiilor de intrare/ieşire şi depistarea eventualelor erori
f) asistarea execuţiei programelor de către utilizator prin comunicarea sistem de calcul-utilizator atât la nivel hardware, cât şi la nivel software
g) organizarea şi protejarea datelor în memorie

Organizarea sistemelor de operare

Organizarea unui sistem de operare

Organizarea unui sistem de operare

- nivelul fizic – apropiat de partea hardware a sistemului de calcul, interacţionează cu aceasta prin intermediul sistemului de întreruperi;
- nivelul logic – apropiat de utilizator, interacţionează cu acesta prin intermediul unor comenzi, limbaje de programe, utilitare etc.

Programele de comandă-control (situate la nivelul fizic) au rolul de coordonare şi control a tuturor funcţiilor sistemului de operare, cum ar fi: procese de intrare/ieşire, execuţia întreruperilor, comunicaţia hardware-utilizator.

Programe de comandă-control

Programe de comandă-control

- rutine rezidente – sunt păstrate în memoria internă pe tot parcursul execuţiei de către sistemul de calcul a oricăror programe şi formează nucleul (kernel-ul) sistemului de operare;
- rutine tranziente – rămân în memoria externă cu celelalte componente ale sistemului de operare şi sunt încărcate în memoria internă doar când programele de servicii sau programele de aplicaţii le solicită (prin intermediul nucleului sistemului de operare).

Programe de servicii (prelucrări, situate la nivelul logic) sunt executate sub supravegherea programelor de comandă-control, fiind utilizate de programatori pentru dezvoltarea programelor de aplicaţie.

Programe de servicii

Programe de servicii

- editoarele de text – componente destinate creării şi modificării programelor sursă. Fişierele, ce conţin caractere în codul ASCII, sunt asimilate unor texte şi vor constitui sursa programelor (scrise în diverse limbaje de programare). Extensii tipice: .pas (Pascal), .c (C), .cpp (C++), .asm (Assembler), .bas (Basic) (PS – Programe Sursă)

- translatoare de limbaje – au rolul de a traduce programele sursă într-o formă binară recunoscută de sistemul de calcul. Programul în formă binară se numeşte programul obiect (extensie .obj) şi conţine instrucţiuni în limbaj maşină ce sunt recunoscute şi executate de sistemul de calcul. Translatoarele de limbaj pot fi:

  • compilative PS -> PO (Programe Obiect)
    • asambloare – programe sursă scrise în limbaj de asamblare, specifice oricărui sistem de calcul (masm, tasm);
    • compilatoare – traduc programe sursă scrise în limbaje de programare de nivel înalt (Pascal, C);
  • interpretative – după translatarea fiecărei instrucţiuni o şi execută.
    • interpretoare – realizează transformarea în program obiect şi apoi executarea programului (Basic)

- editoarele de legături (link editor) – prelucrează modulele obiect şi le asamblează într-un modul executabil, preluând module obiect din bibliotecile de sistem şi eventual din bibliotecile utilizatorului. Editorul de legături alocă adresele reale de memorie şi construieşte structura pe segmente impusă de sistemul de calcul în vederea execuţiei programelor. (Program Obiect Executabil – POE), extensia .exe, .com.

- încărcătorul (loader) încarcă în memoria internă (RAM) în vederea execuţiei, programele obiect executabile. Dacă lansarea în execuţie se realizează automat după încărcarea programului în memorie, încărcătorul este de tip LOAD and GO.

- depanatoare (debugger) oferă mijloace pentru depanarea şi controlul programului, prin:

  • monitorizarea conţinutului variabilelor şi regiştrilor
  • inserarea de puncte de suspendare a programului (breakpoints) sau execuţie pas cu pas (Step by step)

- utilitare care sunt destinate să execute anumite funcţii de interes general, prin specificarea unor comenzi localizate fie în interpretorul de comenzi, fie ca fişiere executabile localizate pe suportul de memorie externă.

  • gestiunea directoarelor şi a fişierelor (creare, copiere, mutare, ştergere)
  • informaţii despre sistemul de calcul, resursele şi componentele utilizate
  • sortare, comprimare/decomprimare date
  • detecţie şi eliminare viruşi

Sistemul de operare este constituit din trei componente:

- Nucleul (Kernel) include funcţiile de nivel jos care vor fi încărcate în memorie după execuţia procesului de iniţializare a calculatorului. Un exemplu ar fi modulul care realizează controlul fluxului de date între memorie şi unităţile de I/O.

- Interpretorul de comenzi (Shell) asigură interfaţa între utilizator şi calculator

- Sistemul de fişiere (File System) - reprezintă, pe scurt, modalitatea de organizare a fişierelor pe disc.

Există o diversitate de sisteme de fişiere:

  • FAT (pentru sistemele de operare DOS/Windows)
  • NTFS (pentru sistemele de operare Windows NT, 2000, XP, Vista, 7)
  • EXT (Extendend File System), NFS (Network File System), RFS (Remote File Sharing) şi AFS (Andrew File System) pentru sisteme de operare din familia UNIX.

Există două modalităţi prin care utilizatorii pot accesa facilităţile unui sistem de operare:

- linia de comandă

  • interpretorul de comenzi
  • fişiere de comenzi (denumite shell-script în UNIX sau batch la DOS/Windows – extensia .bat) utilizate de obicei pentru automatizarea unor sarcini uzuale şi pentru administrarea sistemului
  • în cazul unui mediu grafic: selecţia/executarea de pe ecran

- apeluri de sistem

  • apeluri de funcţii chemate din programe utilizator (folosind API – Application Programming Interface)
No Comments - Leave a comment

Leave a comment



Utilizator: , data curenta: 19 April 2024