Přehled
Jádro (angl. kernel) je základní komponenta operačního systému, která zprostředkovává komunikaci mezi programy a fyzickým hardware. Běží v privilegovaném režimu procesoru (tzv. kernel space) a vykonává úkoly, které uživatelské programy nemohou provádět přímo: správu paměti, plánování procesů, obsluhu přerušení, práci se souborovými systémy a řízení přístupu k zařízením. Uživatelské aplikace interagují s jádrem přes systémy volání (system calls) a vysokoúrovňová API.
Funkce a součásti
Mezi hlavní funkce jádra patří:
- Správa procesů a plánování CPU — rozhodování, který proces poběží a kdy.
- Správa paměti — alokace, virtuální paměť, ochrana adresního prostoru.
- Ovladače zařízení — kódy, které umožňují softwaru komunikovat s periferiemi, tj. ovladače zařízení.
- Řízení přerušení a asynchronních událostí — zajištění rychlé reakce na hardware.
- Bezpečnost a izolace — nastavování práv, sandboxing a kontrola přístupu.
Hlavní typy jader
Existuje několik zásadních přístupů k návrhu jádra, každý s výhodami a kompromisy:
- Monolitické jádro — velká jediná komponenta obsahující většinu služeb v kernel space. Dává dobrý výkon a přímý přístup k prostředkům, ale může být složitější na údržbu.
- Mikrojádro — minimalizované jádro, které umisťuje co nejvíce služeb do uživatelských procesů a ponechává v jádře jen základní mechanismy (IPC, plánování). Cílem je lepší modularita a stabilita.
- Hybridní jádro — kombinuje rysy obou předchozích přístupů: některé služby běží v kernel space pro výkon, ostatní v uživatelském prostoru pro modularitu.
- Exokernel — experimentální přístup, který minimalizuje abstrakce a poskytuje aplikacím nízkoúrovňový přístup k HW, přičemž aplikace nebo knihovny zajišťují vyšší služby.
- Nano‑/mikrokernel (speciální varianty) — někdy označováno pro extrémně malé jádro nebo pro nízkoúrovňové vrstvy hypervisorů; definice se v literatuře liší.
Krátká historie a vývoj
Návrh jader se vyvíjel s rostoucími nároky na spolehlivost, bezpečnost a výkon. Rané systémy často používaly monolitická jádra kvůli omezenému hardware. V 80. a 90. letech se objevily mikrojádra jako reakce na potřebu lepší izolace a snadnějšího vývoje, následovalo praktické nasazení hybridních řešení. Současné operační systémy volí kompromisy podle cílového nasazení — servery, desktop nebo vestavěné systémy — a technologického kontextu.
Význam, použití a příklady
Jádro je klíčové pro stabilitu a bezpečnost celého systému: chyby v jádru mohou vést k pádům nebo bezpečnostním průnikům. Volba typu jádra ovlivňuje výkon, složitost vývoje a možnosti rozšiřování. Například monolitická jádra bývají preferována tam, kde je důležitý maximální výkon, zatímco mikrojádra a jejich deriváty se uplatňují v bezpečnostně citlivých či vestavěných aplikacích s požadavkem na modularitu a izolaci.
Poznámky a rozdíly
Rozlišení mezi jednotlivými kategoriemi není vždy ostré: termíny se v praxi prolínají a různé implementace přinášejí vlastní kompromisy. Při analýze jádra je důležité zkoumat konkrétní vlastnosti — způsob správy paměti, model ovladačů, IPC mechanismy nebo podpory pro virtualizaci — spíše než jen nálepku „mikro“ či „monolitické“. Více informací a technických podrobností lze nalézt v odborné literatuře a dokumentaci konkrétních projektů, například v materiálech věnovaných návrhu moderních jader a jejich implementacím (studie hardwaru, dokumentace operačních systémů).

