====== Linux Kernel: Srdce operačního systému ====== **Linux Kernel** je nízkoúrovňový software, který řídí interakci mezi hardwarem a aplikacemi. Byl vytvořen Linusem Torvaldsem v roce 1991 a od té doby se stal nejrozsáhlejším open-source projektem na světě, na kterém spolupracují tisíce vývojářů a stovky firem. ===== 1. Pozice v systému ===== Kernel běží v tzv. **Privileged Mode** (nebo Kernel Space), což mu dává neomezený přístup k hardwaru. Aplikace uživatele běží v **User Space** a s hardwarem komunikují výhradně skrze rozhraní zvané **System Calls** (systémová volání). --- ===== 2. Hlavní úkoly jádra ===== Kernel plní pět základních funkcí, bez kterých by počítač nemohl fungovat: * **Správa procesů (Process Management):** Rozhoduje, který program dostane přístup k procesoru (CPU) a na jak dlouho. Zajišťuje multitasking. * **Správa paměti (Memory Management):** Přiděluje operační paměť (RAM) běžícím aplikacím a zajišťuje, aby jedna aplikace nepřepisovala data jiné. * **Ovladače zařízení (Device Drivers):** Obsahuje kód pro komunikaci s disky, grafickými kartami, klávesnicemi a dalším hardwarem. * **Správa souborových systémů:** Zajišťuje čtení a zápis dat na disky (podpora pro EXT4, XFS, Btrfs, NTFS atd.). * **Síťová komunikace:** Implementuje síťové protokoly (TCP/IP) a řídí přenos dat přes síťové karty. --- ===== 3. Architektura: Monolit vs. Moduly ===== Linux je technicky **monolitické jádro**, což znamená, že celý operační systém běží v jednom velkém paměťovém prostoru. Je však vysoce **modulární**: * **LKM (Linux Kernel Modules):** Části kódu (často ovladače), které lze do jádra vložit nebo z něj odebrat za běhu, aniž by bylo nutné restartovat celý systém. To je klíčové pro flexibilitu Linuxu. --- ===== 4. Klíčové technologie pro moderní IT ===== Některé funkce kernelu umožnily vznik technologií, které dnes ovládají svět: * **Namespaces & Cgroups:** Tyto funkce jádra umožnily vznik [[it:sw:docker|Dockeru]]. Namespaces izolují pohled aplikace na systém, zatímco Cgroups omezují množství RAM a CPU, které může kontejner spotřebovat. * **eBPF:** Technologie umožňující spouštět bezpečné programy přímo v jádře bez jeho modifikace (používá se pro extrémně rychlý monitoring a bezpečnost). * **VFS (Virtual File System):** Abstraktní vrstva, díky které se aplikace nemusí starat o to, jestli zapisují na SSD, USB disk nebo síťové úložiště. --- ===== 5. Verze a LTS (Long Term Support) ===== Vývoj jádra je velmi rychlý (nová verze vychází každých pár měsíců). Pro servery a podnikovou sféru existují verze **LTS**, u kterých je garantována údržba a bezpečnostní opravy po dobu několika let. ^ Typ verze ^ Použití ^ | **Mainline** | Nejnovější funkce, určeno pro vývojáře a nadšence. | | **Stable** | Odladěná verze připravená k běžnému provozu. | | **LTS** | Kritická infrastruktura, firemní servery, [[it:sw:android|Android]]. | ---- //Související články:// * [[it:sw:linux_basics|Základy systému Linux]] * [[it:sw:docker|Docker: Jak využívá jádro]] * [[it:sw:os_theory|Teorie operačních systémů]] //Tagy: {{tag>it linux kernel hardware operating-system system-calls open-source}}//