Vad är en sidfel?
Ett sidfel är en operation som sker på en dator med virtuellt minne, en teknik som gör att en del av en hårddisk kan förstärka datorns fysiska minne. De flesta sidfel inträffar när ett program försöker få åtkomst till information som har placerats i den virtuella minnesfilen på hårddisken. Detta är en normal funktion i virtuella minnet, och datorn svarar genom att ladda rätt information i fysiskt minne. Ett allvarligare typ av sidfel associerat med kraschar och datorfel kan uppstå när ett program letar efter information på en minnesplats som inte finns eller är skyddad. Detta kan orsakas av felaktig hårdvara eller dåligt skriven programvara.
Moderna datorsystem delar upp minnet i mindre bitar, så kallade sidor, där varje sida har åtkomst till en specifik adress. De flesta system stöder också ett koncept som kallas virtuellt minne, där sidor kan flyttas ut från datorns fysiska Random Access Memory (RAM) och till en virtuell minnesfil som är lagrad på datorns hårddisk och tillbaka till RAM efter behov. Detaljerna för detta komplexa minnehanteringsschema är dolda från programvara; ett program har inget sätt att veta om en sida på en given adress laddas i RAM eller inte i virtuellt minne. Ett sidfel uppstår när ett program försöker läsa eller manipulera en del av minnet som inte är inläst i RAM eller är beläget på en oväntad adress.
Trots det olycksbådande namnet är ett sidfel i allmänhet en normal och förväntad åtgärd, och för det mesta kommer en användare aldrig att märka att felet har inträffat. Det är en typ av operation som kallas en "fälla", vilket betyder att instruktioner från programmet som utlöste felet tillfälligt fångas eller fångas medan datorn undersöker minnesadressen i fråga. Om adressen är giltig, men för närvarande inte laddas i datorns RAM, överförs information från den virtuella minnesfilen på hårddisken till fysiskt minne och programmet återupptar normal drift. Detta kallas ”byta in” eller ”söka in” och är vanligt för nästan alla persondatorer, oavsett operativsystem eller mängd RAM-minne. För lite RAM-minne får dock datorn att ständigt blanda minnessidor mellan hårddisken och det fysiska minnet, vilket kommer att försämra prestandan.
Det andra möjliga resultatet av ett sidfel inträffar när en begärd minnesadress visar sig vara ogiltig eller skyddad. Den här typen av fel, även känd som segmenteringsfel, kan orsakas av minnesmoduler, felaktiga hårddiskar eller en felaktig programvara. En speciell signal skickas till programmet som utlöste felet, vilket vanligtvis får programmet att plötsligt sluta. Beroende på operativsystem kan de mest allvarliga sidfel göra att datorns operativsystem misslyckas, vilket gör att användare får ett kryptiskt Blue Screen of Death (BSoD) eller kärnpanikmeddelande.