Co je to virtuální paměť?
Virtuální paměť je mechanismus úložiště, který uživateli nabízí iluzi, že má velkou hlavní paměť. Děje se to tak, že se s částí sekundární paměti zachází jako s hlavní pamětí. Ve virtuální paměti může uživatel ukládat procesy s větší velikostí než dostupná hlavní paměť.
Proto místo načtení jednoho dlouhého procesu do hlavní paměti OS načte 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.
V tomto kurzu operačního systému se naučíte:
- Co je to virtuální paměť?
- Jak funguje virtuální paměť?
- Co je stránkování na vyžádání?
- Typy metod nahrazování stránek
- Výměna stránky FIFO
- Optimální algoritmus
- Výměna stránky LRU
- Výhody virtuální paměti
- Nevýhody virtuální paměti
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 musí pamatovat, na pevný disk ve swapovém souboru jako virtuální paměť.
- Pokud počítač se systémem Windows potřebuje více paměti / RAM, je po nainstalování do systému pro tento účel použit malý podíl pevného disku.
Jak funguje virtuální paměť?
V moderním světě je virtuální paměť v dnešní době zcela běžná. Používá se vždy, když je pro provedení některých stránek potřeba načíst do hlavní paměti, a paměť není pro těchto mnoho stránek k dispozici.
V takovém případě tedy OS místo toho, aby zabraňoval vstupu stránek do hlavní paměti, OS vyhledá prostor RAM, který je v poslední době používán minimálně nebo který není odkazován do sekundární paměti, aby vytvořil prostor pro nové stránky v hlavní paměť.
Pojďme pochopit správu virtuální paměti pomocí jednoho příkladu.
Například:
Předpokládejme, že operační systém vyžaduje k uložení všech spuštěných programů 300 MB paměti. V paměti RAM je však aktuálně uloženo pouze 50 MB dostupné fyzické paměti.
- OS 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 takovém případě tedy VMM vytvoří soubor na pevném disku o velikosti 250 MB pro uložení požadované paměti navíc.
- OS nyní pokračuje v adresování paměti, protože uvažuje o 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ého paměťového prostoru.
Co je stránkování na vyžádání?
Mechanismus stránkování poptávky je velmi podobný stránkovacímu systému s odkládá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.
Když tedy dojde k přepnutí kontextu, operační systém nikdy nekopíruje žádné stránky starého programu z disku nebo stránky nového programu do hlavní paměti. Místo toho zahájí spouštění nového programu po načtení první stránky a načte stránky programu, na které se odkazuje.
Pokud program během provádění programu odkazuje na stránku, která nemusí být k dispozici v hlavní paměti, protože byla vyměněna, procesor ji považuje za neplatný odkaz na paměť. Je to proto, že chyba stránky a přenosy odesílají kontrolu zpět z programu do OS, který vyžaduje uložení stránky zpět do paměti.
Typy metod nahrazování stránek
Zde je několik důležitých metod 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á metoda implementace. V této metodě paměť vybere stránku pro výměnu, 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, se odstraní. Je tedy snadné rozhodnout, kterou stránku je třeba odstranit, protože její identifikační číslo je vždy v zásobníku FIFO.
- Nejstarší stránka v hlavní paměti je stránka, která by měla být vybrána jako první k výměně.
Optimální algoritmus
Optimální metoda nahrazení stránky vybere tuto stránku pro nahrazení, u kterého je čas do dalšího odkazu 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á nejnižší míru poruch stránky ze všech algoritmů. Tento algoritmus existuje a který by měl být nazýván MIN nebo OPT.
- Vyměňte stránku, která se na rozdíl od delšího používání nebude používat. Využívá pouze čas, kdy je třeba stránku použít.
Výměna stránky LRU
Plná forma LRU je stránka Nejméně nedávno použité. Tato metoda pomáhá OS najít využití stránky po krátkou dobu. 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á se v hlavní paměti nepoužívá nejdéle, je ta, která bude vybrána k nahrazení.
- Snadná implementace, udržování seznamu a nahrazování stránek pohledem zpět do času.
Funkce:
- Metoda nahrazení LRU má nejvyšší počet. Tomuto čítači se také říká stárnoucí registry, které určují jejich věk a to, na kolik by se na ně mělo odkazovat.
- Stránka, která nebyla v hlavní paměti používána nejdéle, je ta, která by měla být vybrána k nahrazení.
- Rovněž udržuje seznam a nahrazuje stránky pohledem zpět do času.
Poruchovost
Poruchovost je frekvence, se kterou selhává navržený systém nebo součást. Vyjadřuje se v selhání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á získat rychlost, když je pro provedení programu vyžadován pouze určitý segment programu.
- Je velmi užitečné při implementaci multiprogramovacího prostředí.
- Umožňuje vám spouštět více aplikací najednou.
- Pomůže vám přizpůsobit mnoho velkých programů do menších programů.
- Společná data nebo kód mohou být sdíleny mezi pamětí.
- Proces může být ještě větší než celá fyzická paměť.
- Data / kód by se měly číst z disku, kdykoli je to požadováno.
- Kód lze umístit kdekoli 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í omezení stupně multiprogramování.
- Velké programy by měly být psány, protože virtuální prostor adres je více srovnává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ěť, aplikace mohou běžet pomaleji.
- Přepínání mezi aplikacemi pravděpodobně zabere více času.
- Nabízí menší místo na pevném disku pro vaše použití.
- Snižuje stabilitu systému.
- Umožňuje spuštění větších aplikací v systémech, které nenabízejí dostatek fyzické paměti RAM samotné k jejich spuštění.
- Nenabízí stejný výkon jako RAM.
- Negativně ovlivňuje celkový výkon systému.
- Využijte úložný prostor, který lze jinak použít pro dlouhodobé ukládání dat.
Souhrn:
- Virtuální paměť je mechanismus úložiště, který uživateli nabízí iluzi, že má velkou hlavní paměť.
- Virtuální paměť je potřeba, kdykoli ve vašem počítači není místo ve fyzické paměti
- Mechanismus stránkování poptávky je velmi podobný stránkovacímu systému s odkládá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 nahrazení 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 nahrazení stránky vybere tuto stránku pro nahrazení, u kterého je čas do dalšího odkazu nejdelší.
- Metoda LRU pomáhá operačnímu systému najít využití stránky po krátkou dobu.
- Virtuální paměť pomáhá získat rychlost, když je pro provedení programu vyžadován pouze určitý segment programu.
- Pokud systém používá virtuální paměť, aplikace mohou běžet pomaleji.