Uživatelský prostor - User space
tento článek potřebuje další citace pro ověření.Říjen 2012) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Moderní počítač operační systém obvykle segreguje virtuální paměť do prostor jádra a uživatelský prostor.[A] Toto oddělení slouží především k zajištění ochrana paměti a hardwarová ochrana před škodlivým nebo chybným chováním softwaru.
Prostor jádra je přísně vyhrazen pro provoz privilegovaných jádro operačního systému, rozšíření jádra a většina ovladače zařízení. Naproti tomu uživatelský prostor je oblast paměti, kde aplikační software a některé ovladače se spustí.
Přehled
Termín uživatelská země (nebo uživatelský prostor) označuje veškerý kód, který běží mimo jádro operačního systému.[1] Userland obvykle odkazuje na různé programy a knihovny který operační systém používá k interakci s jádrem: software, který provádí vstup výstup manipuluje souborový systém předměty, aplikační software, atd.
Každý uživatelský prostor proces normálně běží sám virtuální paměť prostoru, a pokud to není výslovně povoleno, nemá přístup do paměti jiných procesů. To je základ pro ochrana paměti v dnešních běžných operačních systémech a stavebním kamenem pro oddělení privilegií. K vytvoření efektivních virtuálních strojů lze také použít samostatný uživatelský režim - viz Popek a Goldberg požadavky na virtualizaci. S dostatečnými oprávněními mohou procesy požadovat, aby jádro namapovalo část paměťového prostoru jiného procesu na svou vlastní, jako je tomu v případě debuggery. Programy mohou také požadovat sdílená paměť regiony s jinými procesy, i když jsou k dispozici i jiné techniky, které to umožňují meziprocesová komunikace.
Uživatelský režim | Uživatelské aplikace | Například, bash, LibreOffice, GIMP, Mixér, 0 n.l., Mozilla Firefox, atd. | ||||
---|---|---|---|---|---|---|
Nízkoúrovňové komponenty systému: | Systém démoni: systemd, spusť to, logind, networkd, PulseAudio, ... | Okenní systém: X11, Wayland, SurfaceFlinger (Android) | Další knihovny: GTK +, Qt, EFL, SDL, SFML, FLTK, GNUstep, atd. | Grafika: Mesa, AMD Catalyst, ... | ||
C standardní knihovna | otevřeno() , exec () , sbrk () , zásuvka() , fopen () , calloc () , ... (až do roku 2000 podprogramy )glibc chce být rychlý, musl a uClibc cílové vestavěné systémy, bionický psáno pro Android, atd. Všechny chtějí být POSIX /SUS -kompatibilní. | |||||
Režim jádra | Linuxové jádro | stat , spojit , dup , číst , otevřeno , ioctl , psát si , mmap , zavřít , výstup atd. (přibližně 380 systémových volání)Linuxové jádro Rozhraní systémového volání (SCI, chce být POSIX /SUS -kompatibilní)[Citace je zapotřebí ] | ||||
Plánování procesu subsystém | IPC subsystém | Správa paměti subsystém | Virtuální soubory subsystém | Síť subsystém | ||
Další komponenty: ALSA, DRI, evdev, LVM, mapovač zařízení, Plánovač sítě Linux, Netfilter Bezpečnostní moduly Linux: SELinux, TOMOYO, AppArmor, Plácnutí | ||||||
Hardware (procesor, hlavní paměť, zařízení pro ukládání dat, atd.) |
Implementace
Nejběžnější způsob implementace a uživatelský režim oddělit od režim jádra zahrnuje operační systém ochranné kroužky.
Dalším přístupem v experimentálních operačních systémech je mít jediný adresní prostor pro veškerý software a spoléhat se na sémantiku programovacího jazyka, aby bylo zajištěno, že nebude možné přistupovat k libovolné paměti - aplikace jednoduše nemohou získat žádnou Reference k objektům, ke kterým nemají přístup.[2][3] Tento přístup byl implementován v JXOS Unununium i Microsoft Jedinečnost výzkumný projekt.
Viz také
Poznámky
- ^ Starší operační systémy, jako např DOS a Windows 3.1x, nepoužívejte tuto architekturu.
Reference
- ^ „uživatelská země, n.“ The Soubor žargonu. Eric S.Raymond. Citováno 2016-08-14.
- ^ „Unununium System Introduction“. Archivovány od originál dne 2001-12-15. Citováno 2016-08-14.
- ^ „uuu / docs / system_introduction / uuu_intro.tex“. Úvodní příručka k systému UUU. 2001-06-01. Citováno 2016-08-14.
externí odkazy
- Definice prostoru Linuxového jádra
- Vstup do uživatelského režimu na Wayback Machine (archivováno 26. března 2016)