Virtuellt minne är en minneshanteringsteknik som ger ett abstraktionslager mellan applikationens syn på minne och den fysiska RAM som finns på en dator. Det skapar en illusion av ett större adressutrymme än den faktiska mängden fysisk RAM närvarande. Detta uppnås genom att använda en kombination av RAM och sekundär lagring (som en hårddisk eller SSD) för att lagra programmets data och instruktioner.
Här är en uppdelning av dess viktigaste aspekter:
* Större adressutrymme: Applikationer tror att de har tillgång till ett mycket större sammanhängande minnesblock än vad som är fysiskt tillgängligt. Detta gör det möjligt att köra större program än vad som annars skulle passa in i RAM.
* byte (personsökning): Endast de aktivt använda delarna av programmets minne laddas i RAM. Inaktiva delar bor på den sekundära lagringen. När en inaktiv del behövs byts den ut i RAM (en sida tas in) och en mindre återanvändad del kan bytas ut (utifrån) för att göra utrymme. Denna byte hanteras av operativsystemet.
* efterfrågan om söket: Sidor laddas bara i RAM när de faktiskt behövs (på begäran), snarare än på en gång. Detta förbättrar effektiviteten genom att endast använda RAM för aktiva delar av ett program.
* Sidtabell: Operativsystemet har en sidtabell som kartlägger virtuella adresser (används av programmet) till fysiska adresser (i RAM). Denna tabell är avgörande för att översätta programmets minnesförfrågningar till rätt plats i fysiskt minne eller vid sekundär lagring.
* Fördelar:
* Kör större program: Tillåter exekvering av program som överskrider tillgängligt RAM.
* Minneskydd: Processer isoleras från varandras minnesutrymmen, vilket förhindrar att en av misstag förstör en annan.
* Effektivt minnesanvändning: RAM används mer effektivt genom att bara ladda de nödvändiga delarna av programmen.
* nackdelar:
* Performance Overhead: Att byta sidor mellan RAM och sekundär lagring kan vara långsammare än att komma åt RAM direkt, vilket leder till prestandaförstöring (trashing om överdrivet).
* Komplexitet: Att hantera virtuellt minne är komplext och kräver sofistikerade operativsystemmekanismer.
I huvudsak gör det virtuella minnet att det verkar som om en dator har mer RAM än den faktiskt gör, vilket möjliggör effektiv och flexibel minneshantering. Det är en grundläggande komponent i moderna operativsystem.