BPC-MIC13 - Správa paměti
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.
použijí jen několik položek tabulky.
– Při velkých tabulkách plýtvání pamětí.
• Rozdělením jedné velké tabulky do několika
víceúrovňových tabulek se šetří paměť.
– Procesy s malým paměťovým prostorem mají jen
několik tabulek nižší úrovně.
Zrychlení překladu virtuálních adres
• Kdyby byla použita pouze stránkovací tabulka,
došlo by k minimálně zdvojnásobení doby
přístupu do paměti.
– Jeden přístup do stránkovací tabulky.
– Další přístup k datům.
• TLB (Translation Lookaside Buffers)
– Většina programů provádí velké množství odkazů do
malého počtu stránek.
– Tabulka používaných stránek je uložena ve speciálním
HW v MMU – TLB, asociativní paměť.
Virtuální paměť - motivace
• Spojitá alokace paměti (báze a limit)
umožňovaly vytvořit abstrakci adresových
prostorů.
• V systémech umožňujících Multiprogramming
narážíme na další problém – fyzická paměť
není dostatečně velká, aby se do ní vešly
všechny souběžně resp. paralelně běžící
procesy.
Virtuální paměť - motivace
• Swapping
– Jedním z řešení je odkládat celé procesy, které
momentálně nevyužívají procesor, do speciálního
diskového prostoru nebo speciálního souboru.
– Odložení a znovu zavádění celého procesu trvá
nepřijatelně dlouho (pro dnešní velké procesy).
– V dnešní době se proto odkládání celých procesů
snažíme vyhnout.
Virtuální paměť - motivace
• Proces obvykle nepotřebuje neustále využívat
celý svůj adresový prostor.
– Databázová aplikace v daném okamžiku využívá
pouze určitou část zpracovávaných dat.
– Proces aktuálně počítající funkci sinus,
momentálně nepotřebuje kód pro cosinus,
logaritmus, …
• Momentálně nepoužívané části procesu tedy
nemusí být přítomny ve fyzické paměti, ale
mohou být dočasně odloženy na disk.
Princip virtualizace paměti
• Adresový prostor procesu je tvořen jednak
částí fyzické paměti, ale také částí odkládacího
prostoru na disku.
• Virtuální paměť umožňuje: