Reálný režim
Reálný mód neboli režim reálných adres (anglicky real mode, real address mode) je v informatice základní režim mikroprocesorů z rodiny x86. Rozlišuje se až od řady Intel 80286, kdy byl uveden chráněný režim, ale fakticky odpovídá jedinému pracovnímu režimu starších mikroprocesorů Intel 8086 a Intel 80186. To je také důvod, proč procesory z rodiny x86 (včetně nejmodernějších 64bitových procesorů x86-64) dodnes z důvodu zpětné kompatibility začínají svůj běh právě v reálném módu a do jiného režimu je musí explicitně přepnout jádro operačního systému.
Využití
[editovat | editovat zdroj]V režimu reálných adres pracuje například BIOS a také v něm pracoval operační systém DOS (MS-DOS, DR-DOS, atd.) a dokonce i nejstarší verze Microsoft Windows (Windows 3.0 už běžely i v chráněném režimu a naopak Windows 386 běžely pouze v chráněném režimu). Prakticky všechny moderní operační systémy na osobních počítačích (unixové systémy v čele s Linuxem, OS/2, systémy Microsoft Windows z řady Windows NT a novější, atd.) vstupují do chráněného režimu hned při startu jádra operačního systému.
Vlastnosti
[editovat | editovat zdroj]Typickými vlastnostmi režimu reálných adres je segmentace paměti s 20bitovou adresací (tedy nanejvýš 1 MiB přímo adresovatelné paměti) a neomezený přímý přístup do celé paměti i ke všem perifériím. Nelze tedy zajistit spolehlivé fungování multitaskingu.
Adresace
[editovat | editovat zdroj]Adresa je v režimu reálných adres určena dvěma registry: segmentovým a offsetovým. Fyzická adresa je vypočítána jako součet hodnoty v segmentovém registru vynásobené 16 (tedy posunuté o 4 bity doleva) a hodnoty v offsetovém registru.
Díky přenosu tak může být výsledkem až 21bitové číslo: šestnáctkově 0xFFFF0 + 0xFFFF = 0x10FFEF. Pro 21. bit bylo do standardu IBM PC zavedeno rozšíření, které umožňovalo 21. adresní bit aktivovat řadičem klávesnice. Na procesorech Intel 80286 a novějších, které měly širší adresní sběrnici, bylo toto chování emulováno softwarově. Adresy nad hranicí 1 MiB (přesněji do adresy 1 MiB + 64 KiB – 16 bajtů, tj. do adresy 1114095) byly označovány jako HMA (high memory area) a bylo do nich možné umístit například část systému DOS a uvolnit tak místo v konvenční paměti.
Přepínání do reálného režimu
[editovat | editovat zdroj]Záměrem firmy Intel při zavádění režimu chráněné virtuální paměti bylo, aby v tomto režimu v budoucnu běžely všechny operační systémy i jejich programy. Tomu odpovídala i podpora přepínání režimů: zatímco pro přepnutí z reálného režimu do chráněného dal Intel k disposici snadný postup, druhým směrem žádný snadný způsob nepřipravil a na procesorech řady 80286 bylo jediným způsobem resetovat procesor.
Protože režimy se podstatně liší a programy napsané pro jeden z nich je potřeba upravit, aby běžely v druhém, bylo vzhledem k množství programů pro reálný režim zpočátku nereálné, aby se od jeho používání zcela upustilo. Řešením bylo používat ono resetování procesoru, byť se jedná o poměrně nezvyklou a časově náročnou operaci. Při resetování samotného procesoru totiž nedochází ke smazání paměti a při správném ošetření tedy může operační systém přepnout tam i zpět bez následků.
Reference
[editovat | editovat zdroj]V tomto článku byl použit překlad textu z článku Real mode na anglické Wikipedii.