Rozdělení OS, architektura a komponenty OS
Z FAV wiki
(Rozdíly mezi verzemi)
(kopie původní stránky) |
(→Rozdělení) |
||
Řádka 19: | Řádka 19: | ||
Míra distribuovanosti | Míra distribuovanosti | ||
* Klasické - centralizované 1 and more CPU | * Klasické - centralizované 1 and more CPU | ||
− | * | + | * Paralelní |
* SÍŤOVÉ | * SÍŤOVÉ | ||
* Distribuované virtuální uniprocesor - Uživatel neví kde běží programy, kde jsou soubory | * Distribuované virtuální uniprocesor - Uživatel neví kde běží programy, kde jsou soubory |
Aktuální verze z 14. 8. 2017, 12:56
[editovat] 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é
[editovat] 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
[editovat] 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