Virtueel geheugen in besturingssysteem: wat is, vraagoproep, voordelen
โก Slimme samenvatting
Virtueel geheugen is een opslagmechanisme dat de gebruiker de illusie geeft van een groot hoofdgeheugen door een deel van het secundaire geheugen als RAM te behandelen. Het maakt het mogelijk om processen uit te voeren die groter zijn dan het fysieke geheugen en wordt geรฏmplementeerd met behulp van demand paging.

Wat is virtueel geheugen?
Virtueel geheugen Virtueel geheugen is een opslagmechanisme dat de gebruiker de illusie geeft dat hij over een zeer groot hoofdgeheugen beschikt. Dit wordt bereikt door een deel van het secundaire geheugen als hoofdgeheugen te behandelen. In virtueel geheugen kan de gebruiker processen opslaan die groter zijn dan de beschikbare ruimte in het hoofdgeheugen.
Daarom laadt het besturingssysteem, in plaats van รฉรฉn lang proces in het hoofdgeheugen te laden, de verschillende delen van meer dan รฉรฉn proces in het hoofdgeheugen. Virtueel geheugen wordt meestal geรฏmplementeerd met vraagpaging en vraagsegmentatie.
Waarom virtueel geheugen nodig?
Hieronder volgen de redenen om virtueel geheugen te gebruiken:
- Als uw computer geen ruimte meer heeft in het fysieke geheugen, schrijft hij de benodigde informatie naar de harde schijf in een swapbestand als virtueel geheugen.
- Als er een computer actief is Windows Als het systeem meer geheugen/RAM nodig heeft dan er is geรฏnstalleerd, gebruikt het een klein deel van de harde schijf hiervoor.
Hoe virtueel geheugen werkt?
In de moderne wereld is virtueel geheugen tegenwoordig vrij gebruikelijk. Het wordt gebruikt wanneer bepaalde pagina's in het hoofdgeheugen geladen moeten worden voor de uitvoering, maar er onvoldoende geheugen beschikbaar is voor al die pagina's.
In dat geval zal het besturingssysteem, in plaats van te voorkomen dat pagina's in het hoofdgeheugen terechtkomen, zoeken naar RAM-ruimte die de laatste tijd minimaal is gebruikt of waarnaar niet wordt verwezen, en deze naar het secundaire geheugen verplaatsen om ruimte te maken voor de nieuwe pagina's in het hoofdgeheugen.
Laten we het begrijpen virtueel geheugenbeheer met behulp van รฉรฉn voorbeeld.
Bij voorbeeld
Laten we aannemen dat een besturingssysteem 300 MB geheugen nodig heeft om alle actieve programma's op te slaan. Er is echter momenteel slechts 50 MB fysiek geheugen beschikbaar in het RAM-geheugen.
- Het besturingssysteem zal vervolgens 250 MB virtueel geheugen aanmaken en een programma genaamd Virtual Memory Manager (VMM) gebruiken om die 250 MB te beheren.
- In dit geval zal de VMM dus een bestand van 250 MB op de harde schijf aanmaken om het extra benodigde geheugen op te slaan.
- Het besturingssysteem zal nu het geheugen benaderen alsof er 300 MB aan daadwerkelijk geheugen in het RAM-geheugen is opgeslagen, zelfs als er slechts 50 MB ruimte beschikbaar is.
- Het is de taak van de VMM om 300 MB geheugen te beheren, zelfs als er slechts 50 MB aan daadwerkelijk geheugen beschikbaar is.
Wat is vraagpaging?
Een vraagoproepmechanisme lijkt sterk op een paging-systeem met ruilpingwaarbij processen in het secundaire geheugen worden opgeslagen en pagina's alleen op aanvraag worden geladen, niet van tevoren.
Wanneer er een contextwissel plaatsvindt, kopieert het besturingssysteem dus nooit de pagina's van het oude programma van de schijf of de pagina's van het nieuwe programma naar het hoofdgeheugen. In plaats daarvan begint het met de uitvoering van het nieuwe programma nadat de eerste pagina is geladen en haalt het de pagina's van het programma op waarnaar wordt verwezen.
Als een programma tijdens de uitvoering een pagina probeert te gebruiken die mogelijk niet beschikbaar is in het hoofdgeheugen omdat deze is uitgewisseld, dan beschouwt de processor dit als een ongeldige geheugenreferentie. Dit komt doordat de paginafout de controle teruggeeft van het programma naar het besturingssysteem, dat vervolgens eist dat de pagina weer in het geheugen wordt opgeslagen.
Soorten methoden voor paginavervanging
Hieronder vindt u enkele belangrijke methoden voor het vervangen van pagina's:
- FIFO
- Optimaal algoritme
- Vervanging van LRU-pagina
Vervanging van FIFO-pagina
FIFO (First-in-first-out) is een eenvoudige implementatiemethode. Bij deze methode selecteert het geheugen de pagina voor vervanging die het langst in het virtuele adres van het geheugen heeft gestaan.
Kenmerken
- Wanneer een nieuwe pagina wordt geladen, wordt de pagina die het langst in het geheugen heeft gestaan โโverwijderd. Het is dus eenvoudig te bepalen welke pagina verwijderd moet worden, omdat het identificatienummer ervan zich altijd vooraan in de FIFO-stapel bevindt.
- De oudste pagina in het hoofdgeheugen moet als eerste worden geselecteerd voor vervanging.
Optimaal algoritme
De optimale methode voor het vervangen van pagina's selecteert die pagina voor vervanging waarvoor de tijd tot de volgende verwijzing het langst is.
Kenmerken
- Het optimale algoritme resulteert in het kleinste aantal paginafouten. Dit algoritme is echter moeilijk te implementeren.
- Een optimaal paginavervangingsalgoritme heeft het laagste paginafoutpercentage van alle algoritmen. Zo'n algoritme bestaat en zou MIN of OPT genoemd moeten worden.
- Vervang de pagina die naar verwachting langere tijd niet gebruikt zal worden. De pagina wordt alleen gebruikt wanneer dat nodig is.
Vervanging van LRU-pagina
LRU staat voor Least Recently Used page (minst recent gebruikte pagina). Deze methode helpt het besturingssysteem om het paginagebruik over een korte periode te bepalen. Dit algoritme moet worden geรฏmplementeerd door aan elke pagina een teller te koppelen.
Hoe werkt het?
- De pagina in het hoofdgeheugen die het langst niet is gebruikt, wordt geselecteerd voor vervanging.
- Eenvoudig te implementeren, een lijst bijhouden, pagina's vervangen door terug in de tijd te kijken.
Kenmerken
- De LRU-vervangingsmethode heeft de hoogste teller. Deze teller wordt ook wel een verouderingsregister genoemd, dat de leeftijd aangeeft en hoe vaak de bijbehorende pagina's ook nog moeten worden geraadpleegd.
- De pagina in het hoofdgeheugen die het langst niet is gebruikt, moet worden geselecteerd voor vervanging.
- Het houdt ook een lijst bij en vervangt pagina's door terug in de tijd te kijken.
Foutpercentage
De foutfrequentie is de frequentie waarmee een ontworpen systeem of onderdeel defect raakt. Deze wordt uitgedrukt in defecten per tijdseenheid. De foutfrequentie wordt aangeduid met de Griekse letter ฮป (lambda).
Voordelen van virtueel geheugen
Hieronder volgen de voordelen van het gebruik van virtueel geheugen:
- Virtueel geheugen helpt snelheid te winnen wanneer slechts een bepaald segment van het programma nodig is voor de uitvoering van het programma.
- Het is zeer nuttig bij het implementeren van een multiprogrammeeromgeving.
- Hiermee kunt u meer applicaties tegelijk uitvoeren.
- Het helpt u om veel grote programma's in kleinere programma's te passen.
- Gemeenschappelijke gegevens of code kunnen tussen het geheugen worden gedeeld.
- Een proces kan zelfs groter worden dan het gehele fysieke geheugen.
- Gegevens/code moeten indien nodig van de schijf worden gelezen.
- De code kan overal in het fysieke geheugen worden geplaatst zonder dat verplaatsing nodig is.
- Er moeten meer processen in het hoofdgeheugen worden bijgehouden, waardoor het effectieve gebruik van de CPU toeneemt.
- Elke pagina wordt op een schijf opgeslagen totdat deze nodig is; daarna wordt deze verwijderd.
- Hierdoor kunnen meer applicaties tegelijkertijd worden uitgevoerd.
- Er is geen specifieke limiet op de mate van multiprogrammering.
- Het is aan te raden grote programma's te schrijven, omdat de beschikbare virtuele adresruimte groter is dan het fysieke geheugen.
Nadelen van virtueel geheugen
Hieronder volgen de nadelen van het gebruik van virtueel geheugen:
- Toepassingen kunnen langzamer werken als het systeem virtueel geheugen gebruikt.
- Het kost waarschijnlijk meer tijd om tussen applicaties te schakelen.
- Het biedt minder beschikbare schijfruimte.
- Het vermindert de systeemstabiliteit.
- Het maakt het mogelijk om grotere applicaties te draaien op systemen die op zichzelf niet over voldoende fysiek RAM-geheugen beschikken om ze uit te voeren.
- Het biedt niet dezelfde prestaties als RAM.
- Het heeft een negatieve invloed op de algehele prestaties van een systeem.
- Het neemt opslagruimte in beslag die anders gebruikt zou kunnen worden voor langdurige gegevensopslag.

