User space

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

User space a kernel space (uživatelský prostor a prostor jádra) je v informatice označení pro dvě části virtuální paměti opačného typu.

{{anchor|USERSPACE}} User space

Běžně jsou adresy v uživatelském prostoru přidělovány na úrovni procesu a všechna vlákna jednoho procesu spolu tyto adresy sdílí, tudíž při vícevláknovém programování je potřeba předcházet konfliktům mezi vlákny. V uživatelském prostoru se obvykle obecně nachází spustitelný soubor daného procesu, knihovny, které proces používá a některé popisné struktury vytvořené operačním systémem při nahrátí programu.

{{anchor|KERNEL}} Kernel space

Prostor jádra je určen běžným úkolům operačního systému jako např. obsluze hardwaru, správě paměti, rozvrhování vláken apod. +more Obecně platí, že pro používání kernelových adres je potřeba aby procesor byl v privilegovaném režimu (ring0 u x86_x64) a pokud není vyústí pokus o přístup vyhozením výjimky procesoru. Přístup je z uživatelského režimu umožněn pouze přes systémová volání, která krátkodobě volající vlákno do privilegovaného režimu přepnou a vlákno pak může na adresy přistupovat. Důvodem je nutnost udržet systém v konzistentním stavu ve kterém může každému vláknu nabídnout stejné možnosti.

Přidělování těchto kernelových adres je už více platformně specifické, operační systém Windows přiděluje kernelové adresy na úrovni tzv. sessions, což je struktura vytvořená při přihlášení uživatele do systému. +more Tento mechanizmus na Windows umožňuje práci více uživatelů na jedné stanici zároveň.

Hranici mezi oběma prostory si určuje konkrétní operační systém. (Např. +more 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ánky

Privilegovaný režim

Literatura

Windows Internals 5th edition, Microsoft Press, 2009,

Kategorie:Operační systém

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top