Virtuel hukommelse er en hukommelseshåndteringsteknik, der tillader en computer at udføre programmer og få adgang til data, der er større end mængden af fysisk hukommelse, der er tilgængelig på systemet. Det fungerer ved at skabe et virtuelt adresserum for hver proces, som er en sammenhængende række af adresser, som processen kan bruge. Dette virtuelle adresserum afbildes derefter til systemets fysiske hukommelse, så når en proces får adgang til en virtuel adresse, oversætter CPU'ens hukommelsesstyringsenhed (MMU) den virtuelle adresse til en fysisk adresse.
Virtuel hukommelse er muliggjort ved brug af en personsøgningsmekanisme. Sider er hukommelsesblokke i fast størrelse, typisk 4 kilobyte (KB) eller større, og hver virtuel adresse er opdelt i et sidetal og en offset på siden. Når en proces får adgang til en virtuel adresse, kontrollerer MMU'en for at se, om siden, der indeholder denne adresse, er i fysisk hukommelse. Hvis siden er i hukommelsen, oversætter MMU den virtuelle adresse til en fysisk adresse, og adgangen er fuldført.
Hvis siden ikke er i hukommelsen, genererer MMU en sidefejlundtagelse. Operativsystemet (OS) håndterer derefter sidefejlen ved at vælge en side fra den fysiske hukommelse, der skal fjernes og erstatte den med den nødvendige side fra disken. Denne proces kaldes sideerstatning. Operativsystemet bruger forskellige algoritmer til at bestemme, hvilke sider der skal smides ud, og disse algoritmer er designet til at minimere antallet af sidefejl og dermed forbedre systemets ydeevne.
Virtuel hukommelse er en væsentlig del af moderne operativsystemer og gør det muligt for computere at køre programmer, der er meget større end den tilgængelige fysiske hukommelse. Det giver også isolation mellem processer, så hver proces har sit eget private virtuelle adresserum og ikke kan få adgang til hukommelsen for andre processer.