Uživatelské nástroje

Nástroje pro tento web


it:sw:os_theory

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

it/sw/os_theory.txt · Poslední úprava: autor: admin