Čo je to virtuálna pamäť?
Virtuálna pamäť je mechanizmus ukladania, ktorý používateľovi ponúka ilúziu veľmi veľkej hlavnej pamäte. Vykonáva sa to tak, že sa s časťou sekundárnej pamäte zaobchádza ako s hlavnou pamäťou. Vo virtuálnej pamäti môže užívateľ ukladať procesy s väčšou veľkosťou ako je dostupná hlavná pamäť.
Preto namiesto zavedenia jedného dlhého procesu do hlavnej pamäte OS načíta rôzne časti viac ako jedného procesu do hlavnej pamäte. Virtuálna pamäť sa väčšinou implementuje pomocou stránkovania dopytu a segmentácie dopytu.
V tejto príručke k operačnému systému sa dozviete:
- Čo je to virtuálna pamäť?
- Ako funguje virtuálna pamäť?
- Čo je stránkovanie na požiadanie?
- Typy metód výmeny stránok
- Výmena stránky FIFO
- Optimálny algoritmus
- Výmena stránky LRU
- Výhody virtuálnej pamäte
- Nevýhody virtuálnej pamäte
Prečo potrebujete virtuálnu pamäť?
Tu sú dôvody pre použitie virtuálnej pamäte:
- Kedykoľvek váš počítač nemá miesto vo fyzickej pamäti, zapíše to, čo si musí pamätať, na pevný disk vo swapovom súbore ako virtuálna pamäť.
- Ak počítač so systémom Windows potrebuje viac pamäte / RAM, potom po nainštalovaní do systému použije na tento účel malú časť pevného disku.
Ako funguje virtuálna pamäť?
V modernom svete sa virtuálna pamäť v dnešnej dobe stala úplne bežnou. Používa sa vždy, keď je pre vykonanie niektorých stránok potrebné načítanie do hlavnej pamäte, a pamäť nie je pre týchto veľa stránok k dispozícii.
V takom prípade teda OS namiesto toho, aby zabránil stránkam vstúpiť do hlavnej pamäte, vyhľadáva priestor RAM, ktorý sa v poslednej dobe využíva minimálne alebo na ktorý sa neodkazuje v sekundárnej pamäti, aby vytvoril priestor pre nové stránky v hlavná pamäť.
Poďme pochopiť správu virtuálnej pamäte pomocou jedného príkladu.
Napríklad:
Predpokladajme, že operačný systém vyžaduje na uloženie všetkých spustených programov 300 MB pamäte. Momentálne je však v pamäti RAM uložených iba 50 MB dostupnej fyzickej pamäte.
- OS potom nastaví 250 MB virtuálnej pamäte a na správu týchto 250 MB použije program s názvom Virtual Memory Manager (VMM).
- V takom prípade teda program VMM vytvorí na pevnom disku súbor s veľkosťou 250 MB, do ktorého sa uloží požadovaná dodatočná pamäť.
- OS teraz pristúpi k adresovaniu pamäte, pretože uvažuje o 300 MB skutočnej pamäte uloženej v pamäti RAM, aj keď je k dispozícii iba 50 MB miesta.
- Úlohou VMM je spravovať 300 MB pamäte, aj keď je k dispozícii iba 50 MB skutočného pamäťového priestoru.
Čo je stránkovanie na požiadanie?
Mechanizmus stránkovania dopytu je veľmi podobný stránkovaciemu systému s výmenou, kde sa procesy uložené v sekundárnej pamäti a stránky načítajú iba na požiadanie, nie vopred.
Keď teda dôjde k prepnutiu kontextu, operačný systém nikdy nekopíruje žiadne stránky starého programu z disku ani žiadne stránky nového programu do hlavnej pamäte. Namiesto toho začne nový program spúšťať po načítaní prvej stránky a načíta stránky programu, na ktoré sa odkazuje.
Ak počas vykonávania programu program odkazuje na stránku, ktorá nemusí byť k dispozícii v hlavnej pamäti, pretože bola vymenená, procesor ju považuje za neplatnú referenciu pamäte. Je to preto, že chyba stránky a prenosy posielajú kontrolu späť z programu do OS, ktorý vyžaduje uloženie stránky späť do pamäte.
Typy metód výmeny stránok
Tu uvádzame niektoré dôležité metódy výmeny stránok
- FIFO
- Optimálny algoritmus
- Výmena stránky LRU
Výmena stránky FIFO
FIFO (First-in-first-out) je jednoduchá metóda implementácie. Pri tomto spôsobe pamäť vyberie stránku pre náhradu, ktorá je najdlhšie na virtuálnej adrese pamäte.
Vlastnosti:
- Kedykoľvek sa načíta nová stránka, stránka, ktorá sa nedávno dostala do pamäte, sa odstráni. Je teda ľahké rozhodnúť sa, ktorá stránka sa musí odstrániť, pretože jej identifikačné číslo je vždy v zásobníku FIFO.
- Najstaršia stránka v hlavnej pamäti je stránka, ktorú by ste mali najskôr zvoliť ako náhradu.
Optimálny algoritmus
Optimálna metóda nahradenia stránky vyberie túto stránku ako náhradu, ktorej čas do ďalšieho odkazu je najdlhší.
Vlastnosti:
- Výsledkom optimálneho algoritmu je najmenší počet chýb stránky. Tento algoritmus je ťažké implementovať.
- Optimálna metóda algoritmu nahradenia stránky má najnižšiu mieru chybovosti stránky zo všetkých algoritmov. Tento algoritmus existuje a ktorý by sa mal volať MIN alebo OPT.
- Vymeňte stránku, ktorá sa pravdepodobne nebude používať dlhšiu dobu. Využíva iba čas, keď je potrebné stránku použiť.
Výmena stránky LRU
Plná forma LRU je stránka Najmenej naposledy použité. Táto metóda pomáha OS nájsť využitie stránky za krátke obdobie. Tento algoritmus by sa mal implementovať priradením počítadla k párnej stránke.
Ako to funguje?
- Stránka, ktorá sa v hlavnej pamäti nepoužíva najdlhšie, je tá, ktorá bude vybratá na výmenu.
- Ľahko sa implementuje, vedie zoznam a nahradzuje stránky pohľadom späť do času.
Vlastnosti:
- Metóda výmeny LRU má najvyšší počet. Toto počítadlo sa nazýva aj registre starnutia, ktoré určujú ich vek a koľko by sa malo na ich pridružené stránky tiež odkazovať.
- Stránka, ktorá sa v hlavnej pamäti nepoužívala najdlhšie, je tá, ktorá by sa mala zvoliť na nahradenie.
- Vedie tiež zoznam a nahradzuje stránky spätným pohľadom do minulosti.
Poruchovosť
Poruchovosť je frekvencia, s ktorou zlyháva navrhnutý systém alebo komponent. Vyjadruje sa v poruchách za jednotku času. Označuje sa gréckym písmenom λ (lambda).
Výhody virtuálnej pamäte
Tu sú výhody a výhody používania virtuálnej pamäte:
- Virtuálna pamäť pomáha dosiahnuť rýchlosť, keď je na vykonanie programu potrebný iba určitý segment programu.
- Je to veľmi užitočné pri implementácii multiprogramovacieho prostredia.
- Umožňuje vám spustiť viac aplikácií naraz.
- Pomôže vám to zmestiť veľa veľkých programov do menších programov.
- Medzi pamäťou môžu byť zdieľané bežné údaje alebo kód.
- Proces sa môže stať ešte väčším ako celá fyzická pamäť.
- Údaje / kód by sa mali vždy, keď je to potrebné, načítať z disku.
- Kód je možné umiestniť kdekoľvek vo fyzickej pamäti bez potreby premiestnenia.
- V hlavnej pamäti by sa malo udržiavať viac procesov, čo zvyšuje efektívne využitie CPU.
- Každá stránka je uložená na disku, kým nebude vyžadovaná, a potom bude odstránená.
- Umožňuje spustiť viac aplikácií súčasne.
- Neexistuje žiadne konkrétne obmedzenie týkajúce sa stupňa multiprogramovania.
- Mali by sa písať veľké programy, pretože virtuálny adresný priestor, ktorý je k dispozícii, sa viac porovnáva s fyzickou pamäťou.
Nevýhody virtuálnej pamäte
Tu sú nevýhody / nevýhody používania virtuálnej pamäte:
- Ak systém používa virtuálnu pamäť, aplikácie môžu bežať pomalšie.
- Prepínanie medzi aplikáciami pravdepodobne bude trvať dlhšie.
- Ponúka menej miesta na pevnom disku pre vaše použitie.
- Znižuje stabilitu systému.
- Umožňuje spustenie väčších aplikácií v systémoch, ktoré neponúkajú dostatok samotnej fyzickej pamäte RAM na ich spustenie.
- Neponúka rovnaký výkon ako RAM.
- Negatívne ovplyvňuje celkovú výkonnosť systému.
- Zaberajte úložný priestor, ktorý môžete inak využiť na dlhodobé ukladanie údajov.
Zhrnutie:
- Virtuálna pamäť je mechanizmus ukladania, ktorý používateľovi ponúka ilúziu veľmi veľkej hlavnej pamäte.
- Virtuálna pamäť je potrebná vždy, keď váš počítač nemá miesto vo fyzickej pamäti
- Mechanizmus stránkovania dopytu je veľmi podobný stránkovaciemu systému s výmenou, kde sa procesy uložené v sekundárnej pamäti a stránky načítajú iba na požiadanie, nie vopred.
- Dôležitými metódami výmeny stránok sú 1) FIFO 2) Optimálny algoritmus 3) Výmena stránky LRU.
- V metóde FIFO (First-in-first-out) vyberie pamäť stránku pre náhradu, ktorá je najdlhšie na virtuálnej adrese pamäte.
- Optimálna metóda nahradenia stránky vyberie túto stránku ako náhradu, ktorej čas do ďalšieho odkazu je najdlhší.
- Metóda LRU pomáha OS nájsť využitie stránky za krátke obdobie.
- Virtuálna pamäť pomáha dosiahnuť rýchlosť, keď je na vykonanie programu potrebný iba určitý segment programu.
- Ak systém používa virtuálnu pamäť, aplikácie môžu bežať pomalšie.