Het virtuele geheugen is een manier om het geheugen te beheren, wat een recente trend is in de technologie die in computers wordt gebruikt. Hardware (het fysieke deel van de computer, zoals de CPU of de grafische kaart) draait software. Deze software heeft computergeheugen nodig om te kunnen draaien en te doen wat het moet doen. De meeste computers die vandaag de dag in gebruik zijn, kunnen meer dan één ding tegelijk doen, ze draaien meer dan één applicatie. Dit staat bekend als multiprocessing.
In dit geval delen alle programma's of toepassingen die op de computer draaien op een bepaald moment zijn bronnen. Een computer heeft niet meer processoren of hoofdgeheugen (RAM) omdat er meer programma's op draaien.
Het virtuele geheugen is het idee dat de applicatie een blok geheugen van een bepaalde grootte ziet. De applicatie kan dit geheugen naar eigen inzicht gebruiken. Dit blok geheugen is virtueel in de zin dat het uit verschillende delen komt. Een deel ervan kan zich in het hoofdgeheugen van de computer bevinden, maar een deel kan ook op schijf staan. De CPU heeft een speciaal onderdeel, genaamd Arithmetic Logic Unit, dat een aantal van de vertalingen tussen het applicatiegeheugen en de systeembronnen doet. Moderne besturingssystemen doen ook een deel van dit werk.
Wanneer een programma toegang probeert te krijgen tot een blok geheugen dat zich niet in het systeemgeheugen bevindt, wordt dat programma gestopt en wordt het blok in het systeemgeheugen geladen. Wat zich in dat deel van het systeemgeheugen bevond, wordt naar schijf geschreven. Dit wordt meestal paging genoemd.
Bepaalde computersystemen, zoals embedded systemen, maken geen gebruik van virtueel geheugen, omdat ze een zeer snelle reactietijd nodig hebben, of een die altijd hetzelfde blijft. Een van de problemen is dat het met virtueel geheugen moeilijk is om de reactietijd te voorspellen. Een applicatie die gebruik maakt van een deel van het geheugen dat van de schijf moet worden geladen, zal een andere reactietijd hebben dan een die dat niet doet. Daarom wordt het concept van virtueel geheugen niet gebruikt in embedded systemen.

