Virtuellt minne är en minneshanteringsteknik som gör att operativsystemet kan använda fysiskt minne mer effektivt. Det fungerar genom att skapa ett virtuellt adressutrymme för varje process, vilket är en rad adresser som processen kan använda för att komma åt minnet. Det fysiska minnet delas sedan upp i sidor, som är små minnesblock som kan bytas in och ut ur det fysiska minnet efter behov.
När en process kommer åt en virtuell adress kontrollerar operativsystemet om motsvarande sida finns i det fysiska minnet. Om det är det, beviljas åtkomsten. Om det inte är det, byter operativsystemet ut en sida som för närvarande inte används och byter in den sida som behövs. Denna process kallas personsökning.
Virtuellt minne optimerar prestandan på flera sätt. För det första tillåter det operativsystemet att köra flera processer samtidigt, även om det inte finns tillräckligt med fysiskt minne för att hålla alla processer i minnet samtidigt. Detta beror på att operativsystemet kan byta ut sidor som inte används för närvarande, vilket ger plats för sidor från andra processer.
För det andra hjälper virtuellt minne till att förhindra fragmentering av fysiskt minne. Fragmentering uppstår när det fysiska minnet delas upp i små, oanvändbara bitar. Detta kan göra det svårt för operativsystemet att allokera sammanhängande minnesblock till processer, vilket kan leda till minskad prestanda. Virtuellt minne förhindrar fragmentering genom att tillåta processer att använda icke-sammanhängande block av fysiskt minne.
För det tredje hjälper virtuellt minne till att skydda minnet från en process från att nås av en annan process. Detta beror på att varje process har sitt eget virtuella adressutrymme, och operativsystemet tillåter inte processer att komma åt minne utanför sitt eget adressutrymme.
Generellt sett är virtuellt minne en kraftfull minneshanteringsteknik som hjälper till att förbättra prestanda, tillförlitlighet och säkerhet hos operativsystem.