Virtueel geheugen: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
ChrisN (overleg | bijdragen)
Wijzigingen door 78.21.245.53 hersteld tot de laatste versie door Ebrambot
MrBlueSky (overleg | bijdragen)
Geen bewerkingssamenvatting
Regel 3:
Tijdens de uitvoering bewaart een programma gegevens in zijn geheugenruimte. Op elk moment heeft het programma meestal slechts een klein deel van de bewaarde gegevens nodig. Daarom probeert het besturingssysteem alleen die blokken in het RAM te houden die het meest gebruikt worden. De overige geheugenblokken worden dan weggeschreven naar de swap. Als een programma een geheugenblok nodig heeft wat op de swap staat, moet dat blok eerst van de schijf gelezen worden voordat het programma verder kan gaan. Om voor dit blok ruimte te maken in het RAM, moet het besturingssysteem bovendien een ander blok naar de swap verplaatsen. Het benaderen van een ''uitgeswapt'' geheugenblok duurt dus langer dan het benaderen van een blok dat reeds in het RAM aanwezig is.
 
Het voordeel van virtueel geheugen is dat programma's kunnen beschikken over meer geheugenruimte dan het aanwezige RAM-geheugen. Een nadeel is dat virtueel geheugen trager in gebruik is, aangezien een harde schijf veel trager is dan RAM (zie ook [[Geheugenhiërarchie]]). De snelheid van virtueel geheugen is tevens afhankelijk van de regelmaat waarmee een programma gegevens nodig heeft die op dat moment ''uitgeswapt'' zijn.
 
Op [[Unix]] gebaseerde besturingssystemen, zoals [[Linux]], bewaren de geswapte gegevens meestal op een aparte [[partitie (informatica)|partitie]] (de swap-partitie). of in een bestand. [[Microsoft Windows]] gebruikt daarentegenaltijd een speciaal bestand als swap-ruimte.
 
==Werkwijze==
De virtuele adresruimte van een moderne microprocessor, bijvoorbeeld de [[Pentiummicroprocessor]], bedraagt 464 GiB of meer. De hoeveelheid geheugen in de computer is in werkelijkheid veel minder, bijvoorbeeld 1 GiB.
 
De volledige adresruimte is verdeeld in blokken, pagina's, bijvoorbeeld met een grootte van 4 KiB. De processor beschikt over een tabel waarin per virtuele pagina een aantal gegevens worden bijgehouden, onder andere de bijbehorende fysieke pagina.