Hvad er en sidefejl?
En sidefejl er en handling, der opstår på en computer med virtuel hukommelse, en teknik, der giver en del af en harddisk mulighed for at forstærke computerens fysiske hukommelse. De fleste sidefejl opstår, når et program forsøger at få adgang til oplysninger, der er placeret i den virtuelle hukommelsesfil på harddisken. Dette er en normal funktion af den virtuelle hukommelse, og computeren vil reagere ved at indlæse de relevante oplysninger i den fysiske hukommelse. En mere alvorlig type sidefejl, der er forbundet med nedbrud og computerfejl, kan forekomme, når et program leder efter information på et hukommelsessted, der ikke findes eller er beskyttet. Dette kan være forårsaget af defekt hardware eller dårligt skrevet software.
Moderne computersystemer opdeler hukommelsen i mindre bunker, der kaldes sider, hvor hver side får adgang til en bestemt adresse. De fleste systemer understøtter også et koncept kaldet virtuel hukommelse, hvor sider kan flyttes ud af computerens fysiske Random Access Memory (RAM) og til en virtuel hukommelsesfil, der er gemt på computerens harddisk, og tilbage til RAM efter behov. Detaljerne i dette komplekse hukommelsesstyringssystem er skjult for software; et program har ingen måde at vide, om en side på en given adresse er indlæst i RAM eller ikke i virtuel hukommelse. En sidefejl opstår, når et program forsøger at læse eller manipulere en del af hukommelsen, der ikke er indlæst i RAM eller er placeret på en uventet adresse.
På trods af det ildevarslende navn er en sidefejl normalt en normal og forventet handling, og det meste af tiden vil en bruger aldrig bemærke, at fejlen er opstået. Det er en type operation kaldet en "fælde", som betyder, at instruktioner fra det program, der udløste fejlen, midlertidigt bliver aflyttet eller fanget, mens computeren undersøger den aktuelle hukommelsesadresse. Hvis adressen er gyldig, men ikke i øjeblikket indlæst i computerens RAM, overføres information fra den virtuelle hukommelsesfil på harddisken til fysisk hukommelse, og programmet genoptager normal drift. Dette er kendt som "swapping in" eller "paging in" og er fælles for næsten enhver personlig computer, uanset operativsystem eller mængde RAM installeret. For lidt RAM får imidlertid computeren til konstant at blande hukommelsessider mellem harddisken og den fysiske hukommelse, hvilket vil forringe ydelsen.
Det andet mulige resultat af en sidefejl sker, når en anmodet hukommelsesadresse viser sig at være ugyldig eller beskyttet. Denne type fejl, også kendt som en segmenteringsfejl, kan være forårsaget af hukommelsesmoduler, defekte harddiske eller et upassende stykke software. Et specielt signal sendes til det program, der udløste fejlen, hvilket normalt får programmet til pludselig at stoppe. Afhængigt af operativsystemet kan de mest alvorlige sidefejl forårsage, at en computers operativsystem mislykkes, hvilket giver brugere en kryptisk Blue Screen of Death (BSoD) eller kerne-panikmeddelelse.