Mikroprocesory - Skripta
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
Abstrakce paměti. Každý proces má svůj vlastní adresový prostor. Jedná se o množinu
logických adres, které proces může používat pro adresování paměti. Někdy jsou logické adresy
také označovány jako virtuální adresy. Tento adresový prostor je nezávislý (oddělený) na
adresových prostorech ostatních procesů (s výjimkou případů, kdy procesy sdílí společnou část
paměťového prostoru). Proces má dojem, jako by byl v paměti sám – má k dispozici abstraktní
paměť, kterou má sám pro sebe.
Množina všech logických adres generovaných procesem tvoří logický adresový prostor a
množina všech fyzických adres odpovídajících těmto logickým adresám tvoří fyzický adresový
prostor.
Aby abstrakce paměti skutečně fungovala, musíme také zajistit, aby jeden proces vlivem
chyby programátora nebo záměrně nemohl zasahovat do adresového prostoru jiného procesu
nebo jádra OS. Je třeba implementovat ochranu paměti. I tuto činnost zajišťuje jednotka
MMU.
Pro vytváření abstrakce paměti byly vyvinuty následující metody správy paměti:
Spojitá alokace paměti
Segmentace
Stránkování
6.1.1 Spojitá alokace paměti
Jednou z nejjednodušších metod přidělování paměti více procesům je rozdělit fyzickou
paměť na několik spojitých částí - sekcí. Každá sekce může obsahovat právě jeden proces.
Oddělený adresový prostor pro každý proces je zajištěn pomocí dvou registrů MMU.
Bázový (relokační) registr obsahuje nejmenší přípustnou fyzickou adresu, kterou může proces
používat. Je to adresa začátku sekce paměti přidělené procesu. Fyzická adresa se získá sečtením
logické adresy generované instrukcí a obsahu bázového registru.