Hva er en sidetabell i operativsystemer for datamaskiner?
De fleste datamaskiner har to former for minne, virtuelt minne og fysisk minne. Virtuelt minne er, som navnet antyder, bare en konstruksjon som lar et program fungere som om all informasjonen som trengs for å kjøre det, er lagret på samme sted. Hver informasjonsdel som er lagret i virtuelt minne tilsvarer en fysisk minneadresse. En sidetabell er den datastrukturen datamaskinens operativsystem bruker for å holde oversikt over forbindelsene mellom virtuelt minne og fysisk minne. Prosessen med å korrelere virtuelt minne med fysisk minne kalles kartlegging.
Konseptet om hvordan sidetabellen organiserer de to minnene, forstås best ved hjelp av et kjent eksempel. Når en datamaskinbruker oppretter en spilleliste i et mediespillerprogram, kan han eller hun ta sanger fra flere forskjellige filer på datamaskinen. De fysiske filene blir ikke flyttet, men programmet vet hvor de skal gå for å få tilgang til hver sang etter tur.
Spillelisten er som det virtuelle minnet. Det er en sammenhengende blokk med informasjon som programmet lett får tilgang til. De enkelte filene med de enkelte sangene i dem er som fysisk minne. De er lagret mange forskjellige steder over hele datamaskinen. Det fysiske minnet lagres i en sidetabell.
Et stykke maskinvare på datamaskinen mottar forespørsler fra virtuelt minne og får deretter tilgang til sidetabellen for å finne den fysiske minneposisjonen til dataene. Denne maskinvaren kalles enten minnestyringsenheten (MMU) eller den dynamiske adresseversettelsesenheten (DAT). For å få datatilgang til å skje så raskt som mulig, lagrer MMU et begrenset antall ofte brukte kart i en tabell som heter oversettelsen lookaside-buffer. Når du fungerer som favorittfanen i en nettleser, lar oversettelsesbufferen datamaskinen raskt hoppe til et ofte brukt minneplass.
Hvis den aktuelle adressen ikke er en datamaskinen ber om ofte, vil MMU få tilgang til sidetabellen direkte. Den skanner gjennom tabellen til den finner den aktuelle adressen. Deretter returnerer den adressen til oversettelsen lookaside buffer som programmet har tilgang til informasjonen fra.
Noen ganger kan ikke datamaskinen finne adressen på sidetabellen. Dette kan skje hvis det ikke finnes et kart mellom det virtuelle minnet og det fysiske minnet. I dette tilfellet vil operativsystemet sende en melding til programmet om at det skal stenges. Slå opp kan også mislykkes hvis den fysiske filen er flyttet, for eksempel hvis den er lagt på en sikkerhetskopidisk og fjernet fra systemet.