Kaj je navidezni spomin?
Navidezni pomnilnik je mehanizem za shranjevanje, ki uporabniku daje iluzijo, da ima zelo velik glavni pomnilnik. To se naredi tako, da se del sekundarnega spomina obravnava kot glavni spomin. V navideznem pomnilniku lahko uporabnik shrani procese z večjo velikostjo kot razpoložljivi glavni pomnilnik.
Zato OS, namesto da naloži en dolg postopek v glavni pomnilnik, naloži različne dele več kot enega procesa v glavni pomnilnik. Navidezni pomnilnik se večinoma izvaja z iskanjem po straneh in segmentacijo povpraševanja.
V tej vadnici o operacijskem sistemu boste izvedeli:
- Kaj je navidezni spomin?
- Kako deluje navidezni pomnilnik?
- Kaj je klicanje povpraševanja?
- Vrste metod zamenjave strani
- Zamenjava strani FIFO
- Optimalni algoritem
- Zamenjava strani LRU
- Prednosti navideznega pomnilnika
- Slabosti navideznega pomnilnika
Zakaj potrebujete virtualni spomin?
Tu so razlogi za uporabo navideznega pomnilnika:
- Kadar računalnik nima prostora v fizičnem pomnilniku, na trdi disk v swap datoteko zapiše, kaj mora zapomniti kot navidezni pomnilnik.
- Če računalnik z operacijskim sistemom Windows potrebuje več pomnilnika / RAM-a, ki je nato nameščen v sistem, v ta namen uporabi majhen del trdega diska.
Kako deluje navidezni pomnilnik?
V sodobnem svetu je navidezni spomin v današnjih časih postal precej pogost. Uporablja se, kadar je za izvajanje nekaterih strani treba naložiti v glavni pomnilnik, za toliko strani pa pomnilnik ni na voljo.
Torej, v tem primeru OS namesto da prepreči vstop strani v glavni pomnilnik, poišče prostor RAM-a, ki je bil v zadnjem času najmanj uporabljen ali pa ni naveden v sekundarnem pomnilniku, da bi ustvaril prostor za nove strani v glavni pomnilnik.
Razumimo upravljanje navideznega pomnilnika s pomočjo enega primera.
Na primer:
Predpostavimo, da OS zahteva 300 MB pomnilnika za shranjevanje vseh zagnanih programov. Trenutno pa je v RAM-u shranjenega le 50 MB fizičnega pomnilnika.
- Nato bo OS nastavil 250 MB navideznega pomnilnika in za upravljanje teh 250 MB uporabil program, imenovan Virtual Memory Manager (VMM).
- V tem primeru bo VMM na trdem disku ustvaril datoteko velikosti 250 MB za shranjevanje dodatnega potrebnega pomnilnika.
- OS bo zdaj nadaljeval z naslavljanjem pomnilnika, saj upošteva 300 MB dejanskega pomnilnika, shranjenega v RAM-u, tudi če je na voljo le 50 MB prostora.
- Naloga VMM je, da upravlja 300 MB pomnilnika, tudi če je na voljo le 50 MB pravega pomnilnika.
Kaj je klicanje povpraševanja?
Mehanizem ostranjevanja povpraševanja je zelo podoben ostranjevalnemu sistemu z zamenjavo, kjer se procesi, shranjeni v sekundarnem pomnilniku in na straneh, nalagajo samo na zahtevo, ne pa vnaprej.
Torej, ko pride do preklopa konteksta, OS nikoli ne kopira nobene strani starega programa z diska ali katere koli strani novega programa v glavni pomnilnik. Namesto tega bo začel izvajati novi program po nalaganju prve strani in prinaša strani programa, na katere se sklicuje.
Če se program med izvajanjem programa sklicuje na stran, ki morda ni na voljo v glavnem pomnilniku, ker je bila zamenjana, jo procesor šteje za neveljavno referenco pomnilnika. To je zato, ker napaka strani in prenosi vrnejo nadzor iz programa v OS, ki zahteva, da se stran shrani nazaj v pomnilnik.
Vrste metod zamenjave strani
Tu je nekaj pomembnih načinov zamenjave strani
- FIFO
- Optimalni algoritem
- Zamenjava strani LRU
Zamenjava strani FIFO
FIFO (First-in-first-out) je preprost način izvedbe. Pri tej metodi pomnilnik izbere stran za zamenjavo, ki je bila najdlje v navideznem naslovu pomnilnika.
Lastnosti:
- Kadar se naloži nova stran, se stran nedavno prikaže v pomnilniku. Tako se je enostavno odločiti, katero stran je treba odstraniti, saj je njena identifikacijska številka vedno v paketu FIFO.
- Najstarejša stran v glavnem pomnilniku je tista, ki jo je treba najprej izbrati za zamenjavo.
Optimalni algoritem
Optimalna metoda zamenjave strani izbere tisto stran za zamenjavo, pri kateri je čas do naslednje reference najdaljši.
Lastnosti:
- Optimalni algoritem povzroči najmanj napak na straneh. Ta algoritem je težko izvedljiv.
- Optimalna metoda nadomestitve strani ima najnižjo stopnjo napak na strani med vsemi algoritmi. Ta algoritem obstaja in bi ga morali imenovati MIN ali OPT.
- Zamenjajte stran, ki je daljše obdobje ne bi uporabljali. Uporablja le čas, ko je treba stran uporabiti.
Zamenjava strani LRU
Celotna oblika LRU je stran z najmanj nedavno uporabljenimi. Ta metoda pomaga OS-ju, da v kratkem času najde uporabo strani. Ta algoritem je treba izvesti tako, da števec povežemo s sodo stranjo.
Kako deluje?
- Stran, ki v glavnem pomnilniku ni bila uporabljena najdlje časa, bo izbrana za zamenjavo.
- Enostavna izvedba, vodenje seznama, zamenjava strani s pogledom v preteklost.
Lastnosti:
- Metoda nadomestitve LRU ima največje število. Ta števec se imenuje tudi registri staranja, ki določajo njihovo starost in koliko referenc je treba navesti tudi na njihove strani.
- Za nadomestitev je treba izbrati tisto stran, ki v glavnem pomnilniku ni bila uporabljena najdlje časa.
- Prav tako hrani seznam in nadomešča strani s pogledom nazaj v čas.
Stopnja napak
Stopnja napak je pogostost napake načrtovanega sistema ali komponente. Izraža se v okvarah na enoto časa. Označena je z grško črko λ (lambda).
Prednosti navideznega pomnilnika
Tu so prednosti / prednosti uporabe navideznega pomnilnika:
- Navidezni pomnilnik pomaga povečati hitrost, ko je za izvajanje programa potreben le določen segment programa.
- V veliko pomoč je pri izvajanju okolja z več programi.
- Omogoča zagon več aplikacij hkrati.
- Pomaga vam, da veliko velikih programov umestite v manjše programe.
- Splošni podatki ali koda si lahko delijo pomnilnik.
- Proces lahko postane celo večji od celotnega fizičnega spomina.
- Podatke / kodo je treba brati z diska, kadar je to potrebno.
- Kodo lahko shranite kamor koli v fizični pomnilnik, ne da bi jo bilo treba prestaviti.
- V glavnem pomnilniku je treba ohraniti več procesov, kar poveča učinkovito uporabo CPU.
- Vsaka stran je shranjena na disku, dokler ni potrebna, nato pa bo odstranjena.
- Omogoča zagon več aplikacij hkrati.
- Posebne omejitve za stopnjo večprogramiranja ni.
- Napisati je treba velike programe, saj je na voljo navidezni naslovni prostor bolj kot fizični pomnilnik.
Slabosti navideznega pomnilnika
Tu so slabosti / slabosti uporabe navideznega pomnilnika:
- Aplikacije lahko delujejo počasneje, če sistem uporablja navidezni pomnilnik.
- Verjetno traja več časa za preklapljanje med aplikacijami.
- Ponuja manj prostora na trdem disku za vašo uporabo.
- Zmanjšuje stabilnost sistema.
- Omogoča izvajanje večjih aplikacij v sistemih, ki ne ponujajo dovolj fizičnega RAM-a, da bi jih lahko zagnali.
- Ne ponuja enakih zmogljivosti kot RAM.
- Negativno vpliva na splošno delovanje sistema.
- Zasedite prostor za shranjevanje, ki ga lahko sicer uporabite za dolgoročno shranjevanje podatkov.
Povzetek:
- Navidezni pomnilnik je mehanizem za shranjevanje, ki uporabniku daje iluzijo, da ima zelo velik glavni pomnilnik.
- Virtualni pomnilnik je potreben, kadar računalnik nima prostora v fizičnem pomnilniku
- Mehanizem ostranjevanja povpraševanja je zelo podoben ostranjevalnemu sistemu z zamenjavo, kjer se procesi, shranjeni v sekundarnem pomnilniku in na straneh, nalagajo samo na zahtevo, ne pa vnaprej.
- Pomembne metode zamenjave strani so 1) FIFO 2) Optimalni algoritem 3) Zamenjava strani LRU.
- Pri metodi FIFO (prvi v prvem izstopi) pomnilnik izbere stran za zamenjavo, ki je bila najdlje v navideznem naslovu pomnilnika.
- Optimalna metoda zamenjave strani izbere tisto stran za zamenjavo, pri kateri je čas do naslednje reference najdaljši.
- Metoda LRU pomaga OS-ju, da v kratkem času najde uporabo strani.
- Navidezni pomnilnik pomaga povečati hitrost, ko je za izvajanje programa potreben le določen segment programa.
- Aplikacije lahko delujejo počasneje, če sistem uporablja navidezni pomnilnik.