User space akernel space (uživatelský prostor aprostor jádra) je vinformatice označení pro dvě částivirtuální paměti opačného typu.
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řiví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.
Prostor jádra je určen běžným úkolůmoperačního systému jako např. obsluze hardwaru, správě paměti, rozvrhování vláken apod. Obecně platí, že pro používání kernelových adres je potřeba aby procesor byl vprivilegované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řessystémová volání, která krátkodobě volající vlákno doprivilegované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émWindows přiděluje kernelové adresy na úrovni tzv. sessions, což je struktura vytvořená při přihlášení uživatele do systému. Tento mechanizmus naWindows 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ř. 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í mechanizmustrá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.
| Tento článek je příliš stručný nebopostrádá důležité informace. Pomozte Wikipedii tím, že jej vhodněrozšíříte. Nevkládejte všakbez oprávnění cizí texty. |