====== Jádro operačního systému (Kernel) ====== **Jádro** (Kernel) je ústřední část operačního systému, která slouží jako most mezi aplikačním softwarem a hardwarem počítače. Běží v privilegovaném režimu (tzv. **Kernel Mode**), což mu dává plnou kontrolu nad [[it:hw:cpu|procesorem]], [[it:hw:ram|pamětí]] a periferiemi. ===== 1. Hlavní úkoly jádra ===== Jádro musí efektivně a bezpečně spravovat omezené zdroje počítače: * **Správa procesů (Scheduling):** Rozhoduje, který program a jak dlouho smí využívat procesor. Umožňuje tak zdánlivý běh více aplikací najednou (multitasking). * **Správa paměti:** Přiděluje aplikacím části [[it:hw:ram|RAM]] a zajišťuje, aby jedna aplikace nemohla číst nebo přepisovat data jiné aplikace. * **Správa zařízení (Ovladače):** Obsahuje nebo načítá ovladače, které umožňují komunikaci s disky, grafickými kartami či klávesnicí. * **Systémová volání (System Calls):** Poskytuje rozhraní (API), přes které aplikace žádají o služby (např. "otevři soubor" nebo "vypiš text na obrazovku"). ===== 2. Architektury jader ===== Existují různé přístupy k tomu, jak moc funkcí by mělo být přímo součástí jádra: ==== A. Monolitické jádro ==== Všechny služby systému (správa paměti, ovladače, souborový systém) běží jako jeden velký celek v privilegovaném prostoru. * **Výhody:** Vysoký výkon (rychlá vnitřní komunikace). * **Nevýhody:** Pokud selže jedna část (např. chybný ovladač), může spadnout celý systém. * **Příklady:** **Linux**, většina Unixových systémů. ==== B. Mikrojádro (Microkernel) ==== V privilegovaném režimu běží jen to nejnutnější (základní správa paměti a procesů). Ostatní služby (ovladače, souborové systémy) běží jako běžné aplikace v uživatelském prostoru. * **Výhody:** Vysoká stabilita a bezpečnost (pád ovladače neshodí systém). * **Nevýhody:** Nižší výkon kvůli nutnosti neustálé komunikace mezi vrstvami. * **Příklady:** **QNX**, **L4**, koncepty v macOS (Mach). ==== C. Hybridní jádro ==== Kombinuje oba přístupy – snaží se o rychlost monolitu, ale s oddělením některých služeb pro lepší stabilitu. * **Příklady:** **Windows NT** (jádro moderních Windows), **macOS** (XNU). ===== 3. Kernel Mode vs. User Mode ===== Aby systém zůstal stabilní, procesory podporují různé úrovně oprávnění: * **User Mode:** Režim, ve kterém běží běžné aplikace (webový prohlížeč, hry). Nemají přímý přístup k hardwaru. * **Kernel Mode:** Režim vyhrazený pro jádro. Má neomezený přístup k instrukcím procesoru a celé paměti. Pokud chce aplikace v User Mode uložit soubor, musí "zaklepat" na jádro pomocí **systémového volání**. Jádro požadavek prověří a provede jej. ===== 4. Slavná jádra dneška ===== ^ Název ^ Typ ^ Použití ^ | **NT Kernel** | Hybridní | Windows 10, Windows 11, Windows Server | | **Linux Kernel** | Monolitické | Android, servery, superpočítače, desktop Linux | | **XNU** | Hybridní | macOS, iOS (vychází z BSD a Mach) | ---- //Související články:// * [[it:os:boot_process|Proces zavádění systému]] * [[it:hw:cpu|Procesor (CPU) a registry]] * [[it:os:drivers|Ovladače zařízení]] //Tagy: {{tag>os kernel architecture software linux windows}}//