Virtueel geheugen is een geheugenbeheertechniek waarmee het besturingssysteem efficiënter gebruik kan maken van fysiek geheugen. Het werkt door voor elk proces een virtuele adresruimte te creëren, een reeks adressen die het proces kan gebruiken om toegang te krijgen tot het geheugen. Het fysieke geheugen wordt vervolgens opgedeeld in pagina's, dit zijn kleine geheugenblokken die indien nodig in en uit het fysieke geheugen kunnen worden gewisseld.
Wanneer een proces toegang krijgt tot een virtueel adres, controleert het besturingssysteem of de corresponderende pagina zich in het fysieke geheugen bevindt. Als dit het geval is, wordt de toegang verleend. Als dit niet het geval is, vervangt het besturingssysteem een pagina die momenteel niet wordt gebruikt en wordt de benodigde pagina vervangen. Dit proces wordt paging genoemd.
Virtueel geheugen optimaliseert de prestaties op verschillende manieren. Ten eerste zorgt het ervoor dat het besturingssysteem meerdere processen tegelijkertijd kan uitvoeren, zelfs als er niet voldoende fysiek geheugen is om alle processen tegelijkertijd in het geheugen op te slaan. Dit komt omdat het besturingssysteem pagina's die momenteel niet worden gebruikt, kan verwisselen, waardoor er ruimte ontstaat voor pagina's uit andere processen.
Ten tweede helpt virtueel geheugen fragmentatie van het fysieke geheugen te voorkomen. Fragmentatie treedt op wanneer het fysieke geheugen wordt opgedeeld in kleine, onbruikbare stukjes. Dit kan het voor het besturingssysteem moeilijk maken om aaneengesloten geheugenblokken aan processen toe te wijzen, wat tot verminderde prestaties kan leiden. Virtueel geheugen voorkomt fragmentatie door processen toe te staan niet-aaneengesloten blokken fysiek geheugen te gebruiken.
Ten derde helpt virtueel geheugen om het geheugen van het ene proces te beschermen tegen toegang door een ander proces. Dit komt omdat elk proces zijn eigen virtuele adresruimte heeft en het besturingssysteem niet toestaat dat processen toegang krijgen tot geheugen buiten hun eigen adresruimte.
Over het geheel genomen is virtueel geheugen een krachtige techniek voor geheugenbeheer die de prestaties, betrouwbaarheid en beveiliging van besturingssystemen helpt verbeteren. |