Reálný a chráněný adresový režim
Chráněný režim
Chráněný režim nebo chráněna virtuální adresace je provozní režim CPU kompatibilních s x86 .
Poprvé byl přidán do architektury x86tiek v roce 1982 , vydala ho společnost Intel jako procesor 80286 (286), ale až od procesoru 80386 (386) v roce 1985 se začal využívat v operačních systémech a aplikacích. Chránený režim dovoľuje systémovým programom využívať mnoho nových rysov navrhnutých k zlepšeniu multitaskingu (spracovanie viacerých úkonov naraz) ak lepšiemu ovládaniu aplikačných programov , napr. systém stránkovania , ochrana pamäti a podpora pre virtuálnu pamäť . Chráněný režim dovoluje systémovým programům využívat mnoho nových rysů navržených ke zlepšení multitaskingu (zpracování více úkonů najednou) ak lepšímu ovládání aplikačních programů , např. systém stránkování , ochrana paměti a podpora pro virtuální paměť.
Po zapnutí procesoru, který podporuje x86 chráněný režim, se začnou provádět příkazy v reálném režimu, aby se zaručila zpětná kompatibilita se staršími procesory. Chráněný režim může být zaveden až poté, co systémový program nastaví několik deskriptorových tabulek a umožní "Povolení ochrany " bit v Kontrolním registru 0 (CR0).
Kvůli přidaným zlepšení není chráněný režim stal základem pro všechny následující vylepšení na architektuře x86.
Historie
8086, předchůdce 286, byl původně navržen s 20-bitovou paměťovou adresové sběrnicí. Toto dovolovalo procesoru přístup 220 bajtů paměti, ekvivalentní k 1 mebibajtov. V té době byl 1 mebibajt považován za relativně velké množství paměti, a tak návrháři z IBM Personal Computer rezervovali prvních 640 kilobajtů pro aplikace a použití operačního systému a zbylých 384 kilobajtů bylo rezervováno pro základní vstupně-výstupní systém (BIOS) a paměť pro přídavné zařízení.
Jak plynul čas, cena paměti se nepřetržitě klesala a využití se zvětšilo. Omezování 1MB se nakonec stalo významným problémem. Intel zamýšlel rešit tuto limitaci spolu s jinými vydáním 286
286
Prvotní chráněný režim, vydaný s 286, už nebyl velmi používaný. Několik nedostatků, jako neschopnost přístupu k BIOS-u a neschopnost změnit zpět do reálného režimu bez resetování procesoru zabránil širšímu uplatnění. Toto bylo brzděné faktem, že 286 dovolovala přístup k paměti v 16 bitech, 216 bajtů, ekvivalent k 64 kilobajtů, přístupných v čase.
Zpětná kompatibilita s předchůdci 8086 byla udržována tím, že při spuštěn se zahajuje reálný režim. Funkce reálného režimu umožnily starším programem běžet bez zbytečné modifikace na novějších 286. Pro přístup k dodatečným funkcím 286, operační systém nastavoval procesor do chráněného režimu. Toto umožnilo 24 bitovou adresace, která dovolovala procesoru přístup 224 bajtů paměti, tedy 16 megabytů.
386
S vydáním 386 v roce 1985, mnoho problémů zabránilo rozsáhlému přijetí předchozího chráněného režimu.
386 vydali s adresové sběrnicí velikosti 32 bitů, která dovoluje přístup do 232 bajtů paměti, ekvivalent ke 4 gigabajtům. Segmentová velikost byla rovněž zvýšena na 32 bitů, což znamenalo, že 4GB mohly být zpřístupněny bez zbytečného přepínání mezi segmentmi.
Chráněný režim je nyní využíván doslova ve všech moderních operačních systémů, které fungují na x86 architektuře, např. Microsoft Windows, Linux, a mnoho jiných.
S vydáním 386 následující další prvky byly přidány k chráněnému režimu
Stránkování 32-bitový fyzický a virtuální adresového prostoru (32 bitový fyzický adresového prostoru není součást 80386SX a jiných 386 procesorových variant, které používají starší 286 sběrnici.) 32-bitová segmentová část Schopnost přepínání se zpět k reálnému režimu Virtuální 8086 režim
Vstupy a výstupy chráněného režimu
Až do vydání 386, chráněný režim neposkytoval přímou metodu pro vrácení se do reálného režimu jakmile už jednou byl přepnut do chráněného režimu. IBM vytvořilo obkľučku, která zahrnovala rese-tování CPU a ukládání systémových registrů, ukazatel zásobníku a často i masku přerušení v real-time hodinách čipu RAM. Toto dovolovalo BIOS-u navrátit CPU do stejného stavu a začít provádět kód před resetem.
Pro vstup do chráněného režimu, musela být vytvořena globální tabulka deskritporov (GDT) s minimálně třemi záznamy: nulový deskriptor, kódový segmentový deskriptor a datový segmentový deskriptor. 20. adresové řádek (A20 řádek) také musel dovolovat použití všech adresových řádků takže CPU mohl přistupovat za 1MB paměti (pouze prvních 20. bylo povolených použivat až po spuštění Aby byl zaručen kompatibility se starším softwarem). Po provedení těchto dvou kroků, PE bit musel být nastaven v CR0 rejstříku a druhý skok se musel uskutečnit k vyčištění vstupní fronty.
Rysy
Chráněný režim má množství nových znaků navržených ke zlepšení kontroly operačního systému nad aplikačním softwarem, aby zvětšil bezpečnost a stabilitu systému. Tyto bonusy dovolují operačnímu systému fungovat způsobem, který by jinak byl významně těžší nebo dokonce nemožný bez pořádné hardwarové podpory
Privilegované úrovně
V chráněném režimu existují 4 privilegované úrovně nebo prstence, Začínají od 0 po 3, kde prstenec 0 je najprivilegovanejší a 3 nejméně privilegovaný. Používání prstenců dovoluje programovému vybavení omezit úkoly z prístupneních dat, volací brány nebo vykonávat privilegované instrukce.
Ve většině prostředí, operační systémy a některé ovladače zařízení běží v prstenci 0 a aplikace běží v prstenci 3
Reálný režim
Reálný režim, také volal skutečný adresový režim, je způsob práce 80286 a pozdnější x86-slučitelná CPU. Reálný režim je charakterizován 20 bitové rozdělené paměti osloví prostor, přímý softwarový přístup k biosovým rutinám a hardwaru periférie a žádnou představu o ochraně paměti nebo multitaskingu na hardwarové úrovni. Všichni x86 procesory v 80286 sériích a pozdnější začátek v reálném režimu u síly-na; 80186 CPU a dříve měl jen jeden operační režim, který je ekvivalentní k reálnému režimu v pozdnějších čipech.
Zdroje:
http://sk.wikipedia.org/wiki/Chr%C3%A1nen%C3%BD_re%C5%BEim
http://wikipedia.infostar.cz/r/re/real_mode.html
--Jakub Charvát 11. 6. 2010, 08:24 (UTC)