Virtuellt minne
Den här artikeln behöver fler eller bättre källhänvisningar för att kunna verifieras. (2024-04) Åtgärda genom att lägga till pålitliga källor (gärna som fotnoter). Uppgifter utan källhänvisning kan ifrågasättas och tas bort utan att det behöver diskuteras på diskussionssidan. |
Virtuellt minne, även kallat "växelminne", är en datavetenskaplig term för en avancerad form av minneshantering som används av de flesta operativsystem. Istället för att tilldela ett program en exklusiv del av det arbetsminne som finns tillgängligt så får varje program en virtuell motsvarighet till en helt egen dator. Operativsystemet ligger sedan gömt under denna virtuella minnesrymd och sköter alla de riktiga minnes-resurserna så att alla program som körs får det de behöver, men inte mera. På så vis undviks svinn och minnet kan utnyttjas till fullo.
Paging och virtuellt minne användes för första gången i Atlasdatorn år 1962.[1]
Sidväxling
redigeraMinne som inte används just för stunden kan lagras på ett annat medium, vanligtvis sekundärminne som hårddiskar, tills det behövs. Eftersom en hårddisk oftast har mycket större lagringskapacitet än primärminnet i en dator, kan alla programmen samtidigt ha mycket mer virtuellt minne än vad som finns arbetsminne i datorn.
Exempelvis så behöver inte ett program minnet C för att arbeta sig från A till B. C kan då lagras till dess att arbetet med C börjar. När väl arbetet från B till C påbörjas så behövs inte längre A som då kan läggas ut. Ett program som sover eller väntar på data från tangentbordet eller datornätverket behöver inte heller några resurser tills att dessa data kommer, operativsystemet kan då lagra hela programmet för att sedan väcka det till liv igen när data kommit.
I svåra fall kan detta orsaka ett fenomen som kallas thrashing då flera program samtidigt vill ha tillgång till mera data än det finns riktigt arbetsminne. Data måste då konstant flyttas till och från hårddisken så att de data som skall behandlas finns i arbetsminnet just då de behövs. Eftersom dagens primärminnen är mycket snabbare än hårddiskar upplevs thrashing som en mycket plågsam prestandaförlust. Detta fenomen uppstår lätt på äldre datorer utan tillräckligt arbetsminne eller när för många program körs samtidigt.
Eftersom en hårddisk är ett relativt långsamt medium fungerar sidväxling till hårddisk aldrig lika bra som riktigt arbetsminne. Dock är hårddiskar väldig billiga i jämförelse med arbetsminne och en dator kan väl anpassa bruket av hårddisken för lagring av data för att användaren skall märka så lite som möjligt av processen.
Minnesskydd
redigeraVirtuellt minne skiljer och skyddar också program från varandra. Endast operativsystemet känner till alla de olika programmen som körs, det enskilda programmet hålls under illusionen att den arbetar helt ensam på datorn. Minnesskydd är inte något som användaren märker i välfungerande program. När något går fel skall i bästa fall endast ett enskilt program krascha, inte som tidigare innan denna teknik kom till allmänt bruk då hela datorn oftast havererade.
Se även
redigeraReferenser
redigera- ^ Denning, Peter (1997). ”Before Memory Was Virtual” (på engelska). In the Beginning: Recollections of Software Pioneers. http://denninginstitute.com/pjd/PUBS/bvm.pdf.