Báze a limit je ve výpočetní technice jednoduchý způsob adresování a ochrany paměti, kde přístup k operační paměti je řízen dvěma registry procesoru nazývanými bázový a mezní registr.[1]

V nejjednodušší formě je každému uživatelskému procesu přidělen jeden souvislý úsek („segment“) hlavní paměti. Operační systém uloží fyzickou adresu začátku tohoto úseku do bázového registru a jeho velikost do limitního registru. Ke každé adrese použité programem, se přičte obsah bázového registru, a výsledkem je fyzická adresa, která se použije pro přístup do paměti. Každá adresa použitá v programu se tedy (pokud je obsah bázového registru nenulový) liší od skutečné fyzické adresy a proto se pro tyto adresy se používá název virtuální adresa. Díky použití bázového registru jsou programy snadno relokovatelné v paměti, protože při přemístění programu na jinou adresu stačí změnit pouze obsah bázového registru.

Pro zajištění ochrany paměti se virtuální adresa porovná s obsahem mezního registru, aby se procesu zabránilo přistupovat k paměti, která mu nebyla přidělena. Pokud je hodnota virtuální adresy větší nebo rovna hodnotě v mezním registru, bude hardwarově vyvoláno vnitřní přerušení porušení ochrany paměti, kterým se předá řízení operačnímu systému. Operační systém obvykle proces, který toto přerušení způsobil, násilně ukončí. Aby uživatelské procesy nemohly tento způsob ochrany paměti obcházet, musí být instrukce pro změnu obsahu bázového a mezního registru privilegované; takové instrukce může provádět pouze operační systém (resp. procesor v systémovém stavu).

Operační systém může měnit obsah bázového i mezního registru a proto může přistupovat k celé fyzické paměti.

Některé počítačové systémy tento mechanismus rozšiřují na více segmentů, např. i bank a d bank pro instrukce a data na počítačích UNIVAC řady 1100 nebo rozdělení paměti na systému DEC PDP-10 na zapisovatelný „spodní“ segment pro uživatelský proces a „horní“ segment pro sdílený kód umožňující pouze čtení.

Segmentovaná virtuální paměť je dalším rozšířením tohoto mechanismus na velký počet segmentů. Tabulka segmentů se obvykle udržuje v paměti místo v registrech.

Odkazy editovat

Reference editovat

V tomto článku byl použit překlad textu z článku Base and bounds na anglické Wikipedii.

  1. PFLEEGER, Charles P.; PFLEEGER, Shari Lawrence, 2013. Security in Computing. [s.l.]: Prentice Hall Professional. Dostupné online. ISBN 978-0-13-035548-5. S. 185. 

Související články editovat