Virtueel geheugen is een techniek voor geheugenbeheer die een abstractielaag biedt tussen de weergave van het geheugen door de toepassing en het fysieke RAM-geheugen dat beschikbaar is op een computer. Het creëert de illusie van een grotere adresruimte dan de werkelijke hoeveelheid fysiek RAM-geheugen die aanwezig is. Dit wordt bereikt door een combinatie van RAM en secundaire opslag (zoals een harde schijf of SSD) te gebruiken om de gegevens en instructies van het programma op te slaan.
Hier volgt een overzicht van de belangrijkste aspecten:
* Grotere adresruimte: Applicaties denken dat ze toegang hebben tot een veel groter aaneengesloten geheugenblok dan fysiek beschikbaar is. Hierdoor kunnen grotere programma's worden uitgevoerd dan anders in het RAM-geheugen zouden passen.
* Ruilen (paging): Alleen de actief gebruikte delen van het geheugen van een programma worden in het RAM geladen. Inactieve onderdelen bevinden zich op de secundaire opslag. Wanneer een inactief onderdeel nodig is, wordt het naar RAM gewisseld (er wordt een pagina binnengebracht) en een minder recent gebruikt gedeelte kan worden vervangen (uitgepagineerd) om ruimte vrij te maken. Deze uitwisseling wordt beheerd door het besturingssysteem.
* Vraagpaging: Pagina's worden alleen in het RAM geladen als ze daadwerkelijk nodig zijn (op aanvraag), en niet allemaal tegelijk. Dit verbetert de efficiëntie door alleen RAM te gebruiken voor actieve delen van een programma.
* Paginatabel: Het besturingssysteem houdt een paginatabel bij die virtuele adressen (gebruikt door het programma) toewijst aan fysieke adressen (in RAM). Deze tabel is cruciaal voor het vertalen van de geheugenverzoeken van het programma naar de juiste locatie in het fysieke geheugen of op de secundaire opslag.
* Voordelen:
* Grotere programma's uitvoeren: Maakt het uitvoeren van programma's mogelijk die het beschikbare RAM-geheugen overschrijden.
* Geheugenbeveiliging: Processen zijn geïsoleerd van elkaars geheugenruimtes, waardoor wordt voorkomen dat de ene per ongeluk de andere beschadigt.
* Efficiënt geheugengebruik: RAM wordt effectiever gebruikt door alleen de noodzakelijke delen van programma's te laden.
* Nadelen:
* Prestatieoverhead: Het wisselen van pagina's tussen RAM en secundaire opslag kan langzamer zijn dan het rechtstreeks benaderen van RAM, wat leidt tot prestatieverlies (als het te veel is).
* Complexiteit: Het beheren van virtueel geheugen is complex en vereist geavanceerde besturingssysteemmechanismen.
In wezen zorgt virtueel geheugen ervoor dat het lijkt alsof een computer meer RAM-geheugen heeft dan hij in werkelijkheid heeft, waardoor efficiënt en flexibel geheugenbeheer mogelijk is. Het is een fundamenteel onderdeel van moderne besturingssystemen. |