V minulém článku jsme si vysvětlili, co je to linuxové jádro, a nyní si podrobněji popíšeme, jaké funkční úkoly plní. Monolitické jádro operačního systému Linux vykonává nejrozsáhlejší škálu úloh. Zpracování příchozích systémových volání probíhá na nejvyšší úrovni. Tato volání představují rozhraní mezi jádrem a uživatelskými aplikacemi. Na nižší úrovni se zpracovávají hardwarové signály a přerušení.
Úkoly jádra však nespočívají pouze ve zpracování přerušení. Jeho součástí jsou také programy pro řízení zařízení. Ke zpracování signálů přicházejících ze zařízení jsou zapotřebí ovladače. Těm je vyhrazena větší část jádra. Některé z nich mají podobu binárních souborů. Verze jádra bez uzavřených ovladačů je Linux-libre, v praxi není tak snadno použitelná, protože ne vždy je možné sestavit počítač založený na komponentách pouze s otevřenými ovladači.
Další funkční úlohy jádra pracují s abstrakcemi. Virtuální vlákna jsou vytvářena virtuálním vláknem, správce paměti alokuje a izoluje část operační paměti speciálně pro daný proces, virtuální souborový systém tvoří jeden prostor pro ukládání souborů, sokety jsou vytvářeny síťovým modulem. Takto jsou vytvořeny podmínky pro zajištění vysoké úrovně bezpečnosti. Systém meziprocesové interakce zajišťuje, aby nedocházelo ke konfliktům při přístupu ke stejným prostředkům počítače, a také zajišťuje výměnu dat mezi procesy.
Ze strany uživatelského softwaru se podobá fyzickému hardwaru s tím rozdílem, že procesor a operační paměť nekomunikují přímo, ale prostřednictvím systémových volání. Adresář /dev
obsahuje symbolické a blokové odkazy na periferie. Charakteristickým rysem blokových referencí je, že pracují pouze s bloky o stanovené velikosti.
Navzdory tomu, že jádro řídí všechny procesy, samo nic nedělá, potřebuje uživatelský software a procesy prováděné tímto softwarem. Mezi základní software patří GNU utility: těžko si lze představit jakoukoli linuxovou distribuci bez nich. Příkladem je shell Bash
, který umožňuje zadávat příkazy v konzoli.