Rozdělení OS, architektura a komponenty OS
Z FAV wiki
Verze z 21. 5. 2015, 18:43; 78.80.247.252 (diskuse)
Rozdělení
Podle úrovně sdílení CPU
- Jednoprocesový - např. MS DOS; v daném čase je v paměti aktivní jeden program
- Multiprocesový - např. UNIX, WinNT; aby se využilo systémových zdrojů (sdílení CPU, paměti) je v hlavní paměti více než jeden program. V současnosti nejčastěji v systémech pro více uživatelů.
Podle typu interakce/požadavků na odezvu
- Dávkový systém - uživatelské úlohy se zadávají jako sekvenční dávky, během zpracování není interakce mezi uživatelem a jeho úlohou.
- Interaktivní - dovolí uživatelům interakce s jejich úlohami
- OS reálného času - konkrétní aplikace mají přísné požadavky na čas odpovědi. OS se těmto požadavkům podřizují. Vhodné pro multimédia, virtuální realitu. 2 typy:
- Hard real time: zaručuje odezvu systému v ohraničeném čase
- Soft real time: RT úlohy mají prioritu před vším ostatním, avšak nezaručuje odezvu v ohraničeném čase.
Dle velikosti HW
- superpočítač
- telefon
- čipová karta
Míra distribuovanosti
- Klasické - centralizované 1 and more CPU
- ParalelnÍ
- SÍŤOVÉ
- Distribuované virtuální uniprocesor - Uživatel neví kde běží programy, kde jsou soubory
Další možnosti dělení OS:
- podle počtu uživatelů
- jedno / více uživatelské
- podle funkcí
- univerzální
- specializované
Architektura
OS = jádro + systémové nástroje
Dělíme na
- Monolitické jádro – jádro je jeden funkční celek (GNU/Linux)
- Mikrojádro – malé jádro, oddělitelné části pracují jako samostatné procesy v user space (GNU/Hurd)
- Hybridní jádro - kombinace (Win XP, Win Vista...)
Monolitické jádro
- Jeden spustitelný soubor
- Uvnitř moduly pro jednotlivé funkce (filesys, procesy)
- Jeden program, řízení se předává voláním podprogramů
- Příklady: UNIX, Linux, MS DOS
Typickou součástí jádra je např. souborový systém
Linux je monolitické jádro OS, s podporou zavádění modulů za běhu systému
Mikrojádro
- Model klient – server
- Většinu činností OS vykonávají samostatné procesy mimo jádro (servery, např. systém souborů)
- Poskytuje pouze nejdůležitější nízkoúrovňové funkce
- Nízkoúrovňová správa procesů
- Adresový prostor, komunikace mezi adresovými prostory
- Někdy obsluha přerušení, vstupy/výstupy
- Pouze mikrojádro běží v privilegovaném režimu
- Méně pádů systému
Výhody
- vynucuje modulární strukturu
- Snadnější tvorba distribuovaných OS (komunikace přes síť)
Nevýhody
- Složitejší návrh systému
- Režie
Příklady: QNX, Hurd, OSF/1, MINIX, Amoeba
Komponenty OS
- správa procesů
- správa hlavní paměti
- soubory
- správa zařízení - I/O subsystém
- síť (networking) .. viz KIV/UPS
- ochrana a bezpečnost
- uživatelské rozhraní
- Procesy; proces = běžící program; potřebuje minimálně:
- Čas CPU = být vykonán
- Paměť = mít kde běžet
- Vstupy a výstupy = soubory a I/O zařízení
- Správa hlavní paměti
- Alokace a dealokace paměti podle potřeby
- Udržuje informace, která část paměti je používána a kým
- Soubory
- Vytváření/ rušení souborů/adresářů
- Mapování souborů na vnější paměť
- Rozvrhování diskových operací
- I/O podsystém
- Správa paměti pro buffering, caching, spooling
- Společné rozhraní ovladačů zařízení
- Ovladače pro specifická zařízení
- Síť
- Ochrana a bezpečnost = ke zdrojům smí přistupovat pouze autorizované procesy
- Uživatelské rozhraní - CLI, GUI