Kernel space

kernel space (prostor jádra) je v informatice označení pro část operační paměti.

Ve všech současných počínaje počítači s 32bitovými procesory 386, je k dispozici tzv. chráněný režim. Je nezbytný pro běh všech současných operačních systémů, jako jsou Windows, macOS, Linux, atd. Jde o režim procesoru, který umožňuje rozdělit zdroje jako je Operační paměť, Vstup/výstup (HDD, CD-ROM, klávesnice, atd.) počítače mezi jednotlivé uživatele a programy tak, aby výše zmíněné zdroje operačního systému a jednotlivých uživatelů, byly chráněny před neúmyslnou chybou nebo záměrnou činností jiného uživatele tohoto systému.

Operační systémy, které využívají chráněný režim, v základu rozdělují operační paměť na prostor jádra a uživatelský prostor. Prostor jádra typicky zahrnuje paměť, která je dostupná pouze operačnímu systému a slouží k obsluze hardware (procesory, paměť/virtuální paměť), scheduling, mezijádrová komunikace.

Prostor jádra je určen pro základní a kritické úkoly operačního systému, takže bývá rezidentní v paměti přístupné pouze v privilegovaném režimu. Přístup z uživatelského prostoru je možný jen prostřednictvím systémových volání, před jejichž provedením se vždy provede kontrola práv. Pokud jsou práva nedostatečná, dojde k vyvolání výjimky procesoru.

Hranici mezi oběma prostory si určuje konkrétní operační systém. (Např. uživatelský prostor 32bitových distribucí Windows končí adresou 0x7fffffff, uživatelský prostor 64bitových distribucí končí 0x17ffffffffff u programů s výchozím nahrávacím nastavením, existuje několik výjimek). Realizace této hranice u sestav s procesorem řady x86_x64 funguje pomocí mechanizmu stránkování - každý proces má vlastní struktury popisující mapování virtuálních adres na fyzickou paměť na které odkazuje adresa v registru CR3. Část těchto struktur je vytvořená a přístupná pro daný proces a část je stejná pro všechny procesy dané sessiony a popisuje prostor jádra.

Související článkyEditovat

LiteraturaEditovat