Virtuaalne mälu OS-is: mis on, nõudluse otsimine, eelised
Mis on virtuaalmälu?
Virtuaalne mälu on salvestusmehhanism, mis pakub kasutajale illusiooni väga suurest põhimälust. Seda tehakse sekundaarse mälu osa käsitlemisega põhimäluna. Virtuaalmällu saab kasutaja salvestada protsesse, mis on suuremad kui olemasoleva põhimälu.
Seetõttu laadib OS põhimällu ühe pika protsessi laadimise asemel rohkem kui ühe protsessi erinevad osad põhimällu. Virtuaalmälu rakendatakse enamasti nõudluse otsimise ja nõudluse segmenteerimisega.
Miks on vaja virtuaalset mälu?
Siin on virtuaalmälu kasutamise põhjused:
- Kui teie arvutil pole füüsilises mälus ruumi, kirjutab see vahetusfaili kõvakettale virtuaalmäluna selle, mida ta vajab.
- Kui arvuti töötab Windows vajab rohkem mälu/RAM-i, siis süsteemi installitud, kasutab see selleks otstarbeks väikest osa kõvakettast.
Kuidas virtuaalne mälu töötab?
Kaasaegses maailmas on virtuaalmälu muutunud üsna tavaliseks. Seda kasutatakse alati, kui mõned leheküljed tuleb täitmiseks põhimällu laadida ja mälu pole nende paljude lehtede jaoks saadaval.
Sel juhul otsib OS selle asemel, et takistada lehtede põhimällu sisenemist, RAM-i ruumi, mida on viimasel ajal minimaalselt kasutatud või millele ei viidata sekundaarmällu, et teha ruumi uutele lehtedele. põhimälu.
Saame aru virtuaalmälu haldamine ühe näite toel.
Näiteks
Oletame, et OS vajab kõigi töötavate programmide salvestamiseks 300 MB mälu. RAM-is on praegu aga ainult 50 MB vaba füüsilist mälu.
- Seejärel seadistab OS 250 MB virtuaalmälu ja kasutab selle 250 MB haldamiseks programmi nimega Virtual Memory Manager (VMM).
- Seega loob VMM sellisel juhul kõvakettale 250 MB suuruse faili, et talletada vajalikku lisamälu.
- OS jätkab nüüd adresseeritud mäluga, kuna arvestab 300 MB RAM-i salvestatud tegelikku mälu, isegi kui vaba ruumi on ainult 50 MB.
- VMM-i ülesanne on hallata 300 MB mälu isegi siis, kui reaalset mäluruumi on ainult 50 MB.
Mis on nõudluse otsimine?
Nõudluse otsimise mehhanism on väga sarnane a otsingusüsteem vahetamisega, kus teisese mällu salvestatud protsessid ja lehed laaditakse ainult nõudmisel, mitte ette.
Seega, kui toimub kontekstivahetus, ei kopeeri OS kunagi põhimällu ühtegi vana programmi lehte kettalt ega ühtegi uue programmi lehte. Selle asemel alustab see uue programmi täitmist pärast esimese lehe laadimist ja tõmbab programmi lehed, millele viidatakse.
Kui programm viitab programmi täitmise ajal lehele, mis ei pruugi põhimälus saadaval olla, kuna see vahetati, siis käsitleb protsessor seda kehtetuks mäluviiteks. Selle põhjuseks on asjaolu, et lehe viga ja ülekanded saadavad juhtimise programmilt tagasi OS-i, mis nõuab lehe mällu tagasi salvestamist.
Lehekülje asendamise meetodite tüübid
Siin on mõned olulised lehe asendamise meetodid
- FIFO
- Optimaalne algoritm
- LRU lehe vahetus
FIFO lehe vahetus
FIFO (first-in-first-out) on lihtne rakendusmeetod. Selle meetodi puhul valib mälu asenduslehe, mis on olnud mälu virtuaalaadressil kõige kauem.
FUNKTSIOONID
- Uue lehe laadimisel eemaldatakse hiljuti mällu tulnud leht. Seega on lihtne otsustada, milline leht tuleb eemaldada, kuna selle identifitseerimisnumber on alati FIFO virnas.
- Põhimälu vanim leht on see, mis tuleks esmalt asendamiseks valida.
Optimaalne algoritm
Optimaalne lehe asendamise meetod valib asenduseks selle lehe, mille jaoks on järgmise viitamiseni kõige pikem aeg.
FUNKTSIOONID
- Optimaalne algoritm annab kõige vähem lehevigu. Seda algoritmi on raske rakendada.
- Optimaalsel leheasendusalgoritmi meetodil on kõigist algoritmidest madalaim lehe veamäär. See algoritm on olemas ja seda tuleks nimetada MIN või OPT.
- Asendage leht, mida ei soovi pikema aja jooksul kasutada. See kasutab ainult aega, mil lehte on vaja kasutada.
LRU lehe vahetus
LRU täisvorm on leht Viimati kasutatud. See meetod aitab OS-il leida lehe kasutust lühikese aja jooksul. Seda algoritmi tuleks rakendada, seostades loenduri paarislehega.
Kuidas see toimib?
- Lehekülg, mida põhimälus pole kõige kauem kasutatud, valitakse asendamiseks.
- Lihtne rakendada, pidada loendit, asendada lehti ajas tagasi vaadates.
FUNKTSIOONID
- LRU asendusmeetodil on suurim arv. Seda loendurit nimetatakse ka vananemisregistriteks, mis määravad nende vanuse ja selle, kui palju tuleks ka nendega seotud lehekülgi viidata.
- Asendamiseks tuleks valida leht, mida pole põhimälus kõige kauem kasutatud.
- Samuti peab see loendit ja asendab lehti ajas tagasi vaadates.
Veamäär
Veamäär on sagedus, millega kavandatud süsteem või komponent ebaõnnestub. Seda väljendatakse tõrgetes ajaühiku kohta. Seda tähistatakse kreeka tähega ? (lambda).
Virtuaalse mälu eelised
Siin on virtuaalse mälu kasutamise plussid/eelised:
- Virtuaalne mälu aitab kiirendada, kui programmi täitmiseks on vaja ainult teatud programmi segmenti.
- See on palju abiks multiprogrammeerimiskeskkonna rakendamisel.
- See võimaldab teil korraga käivitada rohkem rakendusi.
- See aitab teil mahutada palju suuri programme väiksemateks programmideks.
- Ühiseid andmeid või koodi võib mälu vahel jagada.
- Protsess võib muutuda isegi suuremaks kui kogu füüsiline mälu.
- Andmed / kood tuleks vajadusel kettalt lugeda.
- Koodi saab paigutada kõikjale füüsilises mälus ilma ümberpaigutamist nõudmata.
- Põhimälus tuleks säilitada rohkem protsesse, mis suurendab CPU tõhusat kasutamist.
- Iga leht salvestatakse kettale, kuni seda nõutakse pärast seda, see eemaldatakse.
- See võimaldab korraga käivitada rohkem rakendusi.
- Multiprogrammeerimise astmel pole konkreetset piirangut.
- Tuleks kirjutada suuri programme, kuna saadaolev virtuaalne aadressiruum on füüsilise mäluga võrreldes rohkem.
Virtuaalmälu puudused
Siin on virtuaalmälu kasutamise puudused/miinused:
- Rakendused võivad töötada aeglasemalt, kui süsteem kasutab virtuaalmälu.
- Tõenäoliselt kulub rakenduste vahel vahetamiseks rohkem aega.
- Pakub teie kasutamiseks vähem kõvakettaruumi.
- See vähendab süsteemi stabiilsust.
- See võimaldab suurematel rakendustel töötada süsteemides, mis ei paku nende käitamiseks piisavalt füüsilist RAM-i.
- See ei paku sama jõudlust kui RAM.
- See mõjutab negatiivselt süsteemi üldist jõudlust.
- Hõivake salvestusruum, mida võib muul juhul kasutada pikaajaliseks andmete salvestamiseks.
kokkuvõte
- Virtuaalmälu on salvestusmehhanism, mis pakub kasutajale illusiooni väga suure põhimälu olemasolust.
- Virtuaalset mälu on vaja alati, kui teie arvuti füüsilises mälus pole ruumi
- Nõudlusotsingu mehhanism on väga sarnane vahetamisega otsingusüsteemiga, kus sekundaarmällu salvestatud protsessid ja lehed laaditakse ainult nõudmisel, mitte ette.
- Olulised lehe asendamise meetodid on 1) FIFO 2) optimaalne algoritm 3) LRU lehe asendamine.
- FIFO (first-in-first-out) meetodi puhul valib mälu asenduslehe, mis on olnud mälu virtuaalaadressil kõige kauem.
- Optimaalne lehe asendamise meetod valib asenduseks selle lehe, mille jaoks on järgmise viitamiseni kõige pikem aeg.
- LRU meetod aitab OS-il leida lehe kasutust lühikese aja jooksul.
- Virtuaalne mälu aitab kiirendada, kui programmi täitmiseks on vaja ainult teatud programmi segmenti.
- Rakendused võivad töötada aeglasemalt, kui süsteem kasutab virtuaalmälu.