Vad är en sidtabell i datoroperativsystem?

De flesta datorer har två former av minne, virtuellt minne och fysiskt minne. Virtuellt minne, som namnet antyder, är bara en konstruktion som tillåter ett program att fungera som om all information som behövs för att köra det lagras på samma plats. Varje del av information som lagras i det virtuella minnet motsvarar en fysisk minnesadress. En sidtabell är den datastruktur som datorns operativsystem använder för att hålla reda på kopplingarna mellan virtuellt minne och fysiskt minne. Processen att korrelera virtuellt minne med fysiskt minne kallas kartläggning.

Konceptet med hur sidtabellen organiserar de två typerna av minne förstås bäst med ett välbekant exempel. När en datoranvändare skapar en spellista i ett mediespelarprogram kan han eller hon ta låtar från flera olika filer på datorn. De fysiska filerna flyttas inte, men programmet vet vart det ska gå för att komma åt varje låt i tur och ordning.

Spellistan är som det virtuella minnet. Det är ett sammanhängande informationsblock som är lätt att komma åt av programmet. De enskilda filerna med de enskilda låtarna i dem är som fysiskt minne. De lagras på många olika platser i hela datorn. Det fysiska minnet lagras i en sidtabell.

En hårdvara i datorn tar emot förfrågningar från virtuellt minne och går sedan åt sidtabellen för att hitta den fysiska minnesplatsen för datan. Denna hårdvara kallas antingen minneshanteringsenheten (MMU) eller enheten för dynamisk adressöversättning (DAT). För att få tillgång till data så snabbt som möjligt lagrar MMU ett ändligt antal ofta använda kartor i en tabell som kallas översättningsbufferten. Fungerar som favoritfliken i en webbläsare, översättningsbufferten gör det möjligt för datorn att snabbt hoppa till en ofta använd minnesplats.

Om adressen i fråga inte är en som datorn frågar efter ofta, kommer MMU direkt åt sidtabellen. Den söker igenom tabellen tills den hittar adressen i fråga. Sedan returnerar den adressen till översättningsbufferten från vilken programmet kan komma åt informationen.

Ibland kan datorn inte hitta adressen i sidtabellen. Detta kan hända om det inte finns någon karta mellan det virtuella minnet och det fysiska minnet. I det här fallet kommer operativsystemet att skicka ett meddelande till programmet som säger att det ska stängas av. Uppslagningen kan också misslyckas om den fysiska filen har flyttats, till exempel om den har lagts på en backup-skiva och tagits bort från systemet.