Obsah
Teorie operačních systémů
Operační systém je komplexní program, který funguje jako abstraktní vrstva mezi hardwarem a uživatelem. Jeho hlavním úkolem je efektivní správa omezených systémových prostředků a zajištění bezpečného a stabilního prostředí pro aplikace.
1. Klíčové funkce operačního systému
Operační systém lze chápat jako správce prostředků (Resource Manager), který plní tyto základní úkoly:
- Abstrakce hardwaru: OS skrývá složitost hardwaru a nabízí aplikacím jednotné rozhraní (např. zápis do souboru probíhá stejně na SSD i na USB disku).
- Správa procesů: Organizace běhu více programů současně (multitasking).
- Správa paměti: Izolace a přidělování operační paměti (RAM) jednotlivým programům.
- Vstup/Výstup (I/O): Komunikace s periferními zařízeními (klávesnice, tiskárna, síťová karta).
- Bezpečnost: Ochrana dat jednoho uživatele před druhým a systému před škodlivým kódem.
—
2. Architektury jader (Kernels)
Jádro je nejdůležitější částí OS. Podle způsobu organizace služeb rozlišujeme několik typů:
- Monolitické jádro: Všechny základní služby (ovladače, správa souborů, síť) běží v jednom velkém celku v privilegovaném režimu. Je velmi rychlé, ale chyba v jedné části může shodit celý systém (např. Linux).
- Mikrojádro (Microkernel): Jádro obsahuje jen to nejnutnější (předávání zpráv, základní plánování). Ostatní služby běží jako běžné procesy. Je bezpečné a modulární, ale pomalejší kvůli časté komunikaci (např. QNX, L4).
- Hybridní jádro: Kombinuje oba přístupy pro dosažení stability i výkonu (např. Windows NT, macOS).
—
3. Správa procesů a vláken
Základní jednotkou práce v OS je proces.
- Proces: Instance běžícího programu s vlastním adresním prostorem.
- Vlákno (Thread): „Lehký“ podproces, který sdílí paměť s ostatními vlákny v rámci jednoho procesu.
Plánování procesoru (Scheduling)
Protože procesorů je méně než běžících programů, OS musí rozhodovat, kdo dostane procesor. K tomu slouží algoritmy:
- Round Robin: Každý proces dostane stejný časový úsek.
- Priority Scheduling: Přednost mají důležité systémové úlohy.
—
4. Správa paměti: Virtuální paměť
Moderní OS využívají virtuální paměť, díky které může program „vidět“ více paměti, než je fyzicky v RAM.
- Stránkování (Paging): Paměť je rozdělena na malé bloky (stránky). Pokud RAM dojde, nepoužívané stránky se odloží na disk (Swap/Paging file).
- Ochrana paměti: Zajišťuje, aby Proces A nemohl číst nebo měnit paměť Procesu B.
—
5. Hierarchie úložišť (Memory Hierarchy)
OS musí efektivně pracovat s různými typy pamětí, které se liší rychlostí a cenou:
| Typ | Rychlost | Kapacita | Spravuje |
|---|---|---|---|
| Registry CPU | Extrémní | Bajty | Hardware / Překladač |
| L1/L2/L3 Cache | Velmi vysoká | Megabajty | Hardware |
| RAM | Vysoká | Gigabajty | Operační systém |
| SSD / HDD | Nízká | Terabajty | Operační systém |
—
6. Uživatelské vs. Privilegované režimy
Pro zajištění stability procesory podporují minimálně dva režimy:
1. **User Mode:** Omezený režim pro běžné aplikace. 2. **Kernel Mode:** Plný přístup k hardwaru. Přechod mezi nimi probíhá pomocí **System Calls** (systémových volání).
Související články:
Tagy: it theory operating-system kernel computer-science scheduling virtual-memory
