Structura sistemelor de operare
OS ca sistem de gestionare a resurselor
OS ca mașină virtuală
Sistemul de operare furnizează utilizatorului o mașină virtuală care este mai ușor de programat și mai ușor de folosit decât direct cu hardware-ul care alcătuiește mașina reală.
De exemplu, pentru a citi sau a scrie informații pe o dischetă, trebuie:
- Porniți motorul de rotație a dischetei
- Pentru a acționa un motor pas cu pas al capului mobil
- Monitorizați prezența unei dischete
- Selectați numărul blocului pe disc
- Selectați o piesă
- Selectați numărul sectorului de pe pistă
- și așa mai departe.
Toate aceste funcții sunt preluate de sistemul de operare.
Pentru ca mai multe programe să funcționeze cu o singură resursă (procesor, memorie), este nevoie de un sistem de gestionare a resurselor.
Metode de alocare a resurselor:
- Temporar - când programele îl folosesc la rândul său, de exemplu, sistemul controlează procesorul.
- Spațial - programul primește o parte a resursei, de exemplu, astfel încât sistemul gestionează memoria RAM și hard disk-ul.
- Programul principal care solicită procedurile de service solicitate.
- Un set de proceduri de service care implementează apelurile de sistem.
- Un set de utilitare care deservesc procedurile de service.
![O structură pe mai multe niveluri a unei (structuri) Structura pe mai multe niveluri a viespilor](https://images-on-off.com/images/213/mnogourovnevayastrukturaos-b0cc0e7e.jpg)
Un model simplu al unui sistem monolit
Fazele procesării apelurilor:
- Se acceptă un apel
- Treceți de la modul utilizator la modul kernel
- Sistemul de operare verifică parametrii apelului pentru a determina ce apel de sistem să fie executat
- După aceea, sistemul de operare se referă la tabelul care conține referințele la proceduri și solicită procedura corespunzătoare.
O generalizare a abordării anterioare este organizarea OS ca o ierarhie a nivelurilor. Nivelurile sunt formate din grupuri de funcții ale sistemului de operare - sistemul de fișiere, gestionarea proceselor și dispozitivelor și așa mai departe. Fiecare nivel poate interacționa numai cu vecinul său imediat - deasupra sau sub nivelul. Programele de aplicație sau modulele sistemului de operare înseși transmit cereri în sus și în jos aceste niveluri.
![O structură pe mai multe niveluri a unei (structuri) Structura pe mai multe niveluri a viespilor](https://images-on-off.com/images/213/mnogourovnevayastrukturaos-6f7f96ce.jpg)
![Structura pe mai multe nivele a unui (de exemplu, sistemul gestionează) Structura pe mai multe niveluri a viespilor](https://images-on-off.com/images/213/mnogourovnevayastrukturaos-ca4480e2.jpg)
Structura sistemului de operare UNIX
![O structură pe mai multe niveluri a unei (structuri) Structura pe mai multe niveluri a viespilor](https://images-on-off.com/images/213/mnogourovnevayastrukturaos-58aaa0ec.jpg)
Un exemplu de implementare a unui model Windows pe mai multe niveluri