User space
část virtuální paměti From Wikipedia, the free encyclopedia
část virtuální paměti From Wikipedia, the free encyclopedia
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.
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.
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. 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. 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ř. 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.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.