Virtuellt minne är en minneshanteringsteknik som gör att en dator kan köra program och komma åt data som är större än mängden fysiskt minne som är tillgängligt i systemet. Det fungerar genom att skapa ett virtuellt adressutrymme för varje process, vilket är ett sammanhängande antal adresser som processen kan använda. Detta virtuella adressutrymme mappas sedan till systemets fysiska minne, så att när en process kommer åt en virtuell adress, översätter CPU:ns minneshanteringsenhet (MMU) den virtuella adressen till en fysisk adress.
Virtuellt minne möjliggörs genom användning av en personsökningsmekanism. Sidor är minnesblock av fast storlek, vanligtvis 4 kilobyte (KB) eller större, och varje virtuell adress är uppdelad i ett sidnummer och en offset på sidan. När en process kommer åt en virtuell adress, kontrollerar MMU:n för att se om sidan som innehåller den adressen finns i fysiskt minne. Om sidan finns i minnet översätter MMU den virtuella adressen till en fysisk adress och åtkomsten är slutförd.
Om sidan inte finns i minnet genererar MMU ett sidfelundantag. Operativsystemet (OS) hanterar sedan sidfelet genom att välja en sida från det fysiska minnet som ska vräkas och ersätta den med den sida som behövs från disken. Denna process kallas sidbyte. Operativsystemet använder olika algoritmer för att avgöra vilka sidor som ska vräkas, och dessa algoritmer är designade för att minimera antalet sidfel och därmed förbättra systemets prestanda.
Virtuellt minne är en viktig del av moderna operativsystem och tillåter datorer att köra program som är mycket större än mängden fysiskt minne som finns tillgängligt. Det ger också isolering mellan processer, så att varje process har sitt eget privata virtuella adressutrymme och inte kan komma åt minnet för andra processer.