Hva er et sidefeil?
En sidefeil er en operasjon som oppstår på en datamaskin med virtuelt minne, en teknikk som lar en del av en harddisk øke datamaskinens fysiske minne. De fleste sidefeil oppstår når et program prøver å få tilgang til informasjon som er plassert i den virtuelle minnefilen på harddisken. Dette er en normal funksjon av det virtuelle minnet, og datamaskinen vil svare ved å laste inn riktig informasjon i det fysiske minnet. En mer alvorlig type sidefeil assosiert med krasjer og datafeil kan oppstå når et program ser etter informasjon på et minneplass som ikke eksisterer eller er beskyttet. Dette kan være forårsaket av feil maskinvare eller dårlig skrevet programvare.
Moderne datasystemer deler inn hukommelsen i mindre biter kjent som sider, hvor hver side får tilgang til en spesifikk adresse. De fleste systemer støtter også et konsept kjent som virtuelt minne, der sider kan flyttes ut av datamaskinens fysiske RAM-minne (Random Access Memory) og til en virtuell minnefil som er lagret på datamaskinens harddisk, og tilbake til RAM etter behov. Detaljene i dette komplekse minnestyringsskjemaet er skjult for programvare; et program har ingen måte å vite om en side på en gitt adresse er lastet i RAM eller ikke i virtuelt minne. En sidefeil oppstår når et program prøver å lese eller manipulere en del av minnet som ikke er lastet inn i RAM eller ligger på en uventet adresse.
Til tross for det illevarslende navnet, er en sidefeil vanligvis en normal og forventet handling, og mesteparten av tiden vil en bruker aldri legge merke til at feilen har oppstått. Det er en type operasjon kjent som en "felle", som betyr at instruksjoner fra programmet som utløste feilen, blir midlertidig avlyttet eller fanget mens datamaskinen undersøker den aktuelle minneadressen. Hvis adressen er gyldig, men for øyeblikket ikke er lastet inn i datamaskinens RAM, overføres informasjon fra den virtuelle minnefilen på harddisken til fysisk minne, og programmet gjenopptar normal drift. Dette er kjent som "bytte inn" eller "søke inn", og er vanlig for nesten alle personlige datamaskiner, uavhengig av operativsystem eller mengde RAM installert. For lite RAM fører imidlertid til at datamaskinen stadig blander minnesider mellom harddisken og det fysiske minnet, noe som vil forringe ytelsen.
Det andre mulige utfallet av en sidefeil skjer når en forespurt minneadresse blir funnet å være ugyldig eller beskyttet. Denne typen feil, også kjent som en segmenteringsfeil, kan være forårsaket av sviktende minnemoduler, defekte harddisker eller feil programvare. Et spesielt signal sendes til programmet som utløste feilen, noe som vanligvis får programmet til å slutte brått. Avhengig av operativsystemet, kan de alvorligste sidefeilene føre til at datamaskinens operativsystem mislykkes, og lar brukere ha en kryptisk Blue Screen of Death (BSoD) eller kjernen panikkmelding.