Virtuální paměť v OS: Co je to, stránkování poptávky, výhody
Co je virtuální paměť?
Virtuální paměť je úložný mechanismus, který nabízí uživateli iluzi velmi velké hlavní paměti. Provádí se tak, že část sekundární paměti je považována za hlavní paměť. Ve virtuální paměti může uživatel ukládat procesy o velikosti větší, než je dostupná hlavní paměť.
Proto namísto načítání jednoho dlouhého procesu do hlavní paměti operační systém načítá různé části více než jednoho procesu do hlavní paměti. Virtuální paměť je většinou implementována pomocí stránkování poptávky a segmentace poptávky.
Proč potřebujete virtuální paměť?
Zde jsou důvody pro použití virtuální paměti:
- Kdykoli váš počítač nemá místo ve fyzické paměti, zapíše to, co si potřebuje zapamatovat, na pevný disk do odkládacího souboru jako virtuální paměť.
- Pokud běží počítač Windows potřebuje více paměti/RAM, poté nainstalovaný v systému používá pro tento účel malou část pevného disku.
Jak funguje virtuální paměť?
V dnešním moderním světě se virtuální paměť stala zcela běžnou záležitostí. Používá se vždy, když některé stránky vyžadují pro provedení načtení do hlavní paměti a paměť není pro tento počet stránek k dispozici.
V takovém případě tedy operační systém namísto zabránění vstupu stránek do hlavní paměti hledá místo RAM, které je v poslední době minimálně využito nebo které není odkazováno do sekundární paměti, aby se vytvořil prostor pro nové stránky v hlavní paměť.
Pochopme to správa virtuální paměti s pomocí jednoho příkladu.
Například
Předpokládejme, že operační systém vyžaduje 300 MB paměti pro uložení všech spuštěných programů. V současné době je však v paměti RAM uloženo pouze 50 MB dostupné fyzické paměti.
- Operační systém poté nastaví 250 MB virtuální paměti a ke správě těchto 250 MB použije program s názvem Virtual Memory Manager (VMM).
- V tomto případě tedy VMM vytvoří na pevném disku soubor o velikosti 250 MB pro uložení další požadované paměti.
- Operační systém nyní přejde k adresové paměti, protože považuje 300 MB skutečné paměti uložené v paměti RAM, i když je k dispozici pouze 50 MB místa.
- Úkolem VMM je spravovat 300 MB paměti, i když je k dispozici pouze 50 MB skutečné paměti.
Co je to stránkování poptávky?
Mechanismus poptávkového stránkování je velmi podobný a stránkovací systém se swapováním, kdy se procesy uložené v sekundární paměti a stránky načítají pouze na vyžádání, nikoli předem.
Takže když dojde k přepnutí kontextu, OS nikdy nezkopíruje žádnou ze stránek starého programu z disku ani žádnou ze stránek nového programu do hlavní paměti. Místo toho začne po načtení první stránky spouštět nový program a načte stránky programu, na které se odkazuje.
Pokud během provádění programu program odkazuje na stránku, která nemusí být dostupná v hlavní paměti, protože byla prohozena, procesor to považuje za neplatný odkaz na paměť. Je to proto, že chyba stránky a přenosy pošlou řízení zpět z programu do operačního systému, který vyžaduje uložení stránky zpět do paměti.
Typy metod nahrazování stránek
Zde jsou některé důležité metody nahrazení stránky
- FIFO
- Optimální algoritmus
- Výměna stránky LRU
Výměna stránky FIFO
FIFO (First-in-first-out) je jednoduchá implementační metoda. Při této metodě paměť vybere stránku pro náhradu, která byla na virtuální adrese paměti nejdelší dobu.
Funkce
- Kdykoli se načte nová stránka, stránka, která se nedávno objevila v paměti, je odstraněna. Je tedy snadné rozhodnout, kterou stránku je třeba odstranit, protože její identifikační číslo je vždy na zásobníku FIFO.
- Nejstarší stránka v hlavní paměti je ta, která by měla být vybrána k nahrazení jako první.
Optimální algoritmus
Optimální metoda výměny stránky vybere jako náhradu tu stránku, pro kterou je doba do další reference nejdelší.
Funkce
- Optimální algoritmus má za následek nejmenší počet chyb stránky. Tento algoritmus je obtížné implementovat.
- Optimální metoda algoritmu nahrazení stránky má ze všech algoritmů nejnižší míru chybovosti stránky. Tento algoritmus existuje a měl by se nazývat MIN nebo OPT.
- Vyměňte stránku, kterou nebudete delší dobu používat. Používá pouze čas, kdy je třeba stránku použít.
Výměna stránky LRU
Úplná podoba LRU je stránka Nejméně nedávno použitá. Tato metoda pomáhá OS najít využití stránky během krátké doby. Tento algoritmus by měl být implementován přidružením čítače k sudé stránce.
Jak to funguje?
- Stránka, která nebyla v hlavní paměti používána nejdéle, bude vybrána k výměně.
- Snadná implementace, vést seznam, nahradit stránky pohledem zpět do času.
Funkce
- Metoda výměny LRU má nejvyšší počet. Toto počítadlo se také nazývá registry stárnutí, které určují jejich stáří a do jaké míry je třeba odkazovat na související stránky.
- Stránka, která nebyla v hlavní paměti používána nejdéle, je ta, která by měla být vybrána pro nahrazení.
- Vede také seznam a nahrazuje stránky pohledem zpět do času.
Poruchovost
Poruchovost je frekvence, se kterou navržený systém nebo součást selže. Vyjadřuje se v poruchách za jednotku času. Označuje se řeckým písmenem ? (lambda).
Výhody virtuální paměti
Zde jsou výhody/výhody používání virtuální paměti:
- Virtuální paměť pomáhá zvýšit rychlost, když je pro spuštění programu vyžadován pouze určitý segment programu.
- Je to velmi užitečné při implementaci multiprogramovacího prostředí.
- Umožňuje spouštět více aplikací najednou.
- Pomůže vám vměstnat mnoho velkých programů do menších programů.
- Mezi pamětí mohou být sdílena společná data nebo kód.
- Proces může být dokonce větší než celá fyzická paměť.
- Data / kód by měly být načteny z disku, kdykoli je to nutné.
- Kód lze umístit kamkoli do fyzické paměti bez nutnosti přemístění.
- V hlavní paměti by mělo být udržováno více procesů, což zvyšuje efektivní využití CPU.
- Každá stránka je uložena na disku, dokud nebude vyžadována, poté bude odstraněna.
- Umožňuje spouštět více aplikací současně.
- Neexistuje žádný konkrétní limit pro stupeň multiprogramování.
- Velké programy by se měly psát, protože dostupný virtuální adresní prostor je více ve srovnání s fyzickou pamětí.
Nevýhody virtuální paměti
Zde jsou nevýhody/nevýhody používání virtuální paměti:
- Pokud systém používá virtuální paměť, mohou aplikace běžet pomaleji.
- Přepínání mezi aplikacemi pravděpodobně zabere více času.
- Nabízí méně místa na pevném disku pro vaše použití.
- Snižuje stabilitu systému.
- Umožňuje spouštění větších aplikací v systémech, které nenabízejí dostatek fyzické paměti RAM samotné pro jejich provoz.
- Nenabízí takový výkon jako RAM.
- To negativně ovlivňuje celkový výkon systému.
- Zabere úložný prostor, který lze jinak využít pro dlouhodobé ukládání dat.
Shrnutí
- Virtuální paměť je úložný mechanismus, který uživateli nabízí iluzi velmi velké hlavní paměti.
- Virtuální paměť je potřeba vždy, když váš počítač nemá místo ve fyzické paměti
- Mechanismus stránkování na vyžádání je velmi podobný stránkovacímu systému se swapováním, kde se procesy uložené v sekundární paměti a stránky načítají pouze na vyžádání, nikoli předem.
- Důležité způsoby výměny stránky jsou 1) FIFO 2) Optimální algoritmus 3) Výměna stránky LRU.
- V metodě FIFO (First-in-first-out) paměť vybere stránku pro náhradu, která byla na virtuální adrese paměti nejdelší dobu.
- Optimální metoda výměny stránky vybere jako náhradu tu stránku, pro kterou je doba do další reference nejdelší.
- Metoda LRU pomáhá OS najít využití stránky během krátké doby.
- Virtuální paměť pomáhá zvýšit rychlost, když je pro spuštění programu vyžadován pouze určitý segment programu.
- Pokud systém používá virtuální paměť, mohou aplikace běžet pomaleji.