I et datamaskinoperativsystem, en
sidefeil oppstår når et program prøver å få tilgang til en minneside som for øyeblikket ikke er i RAM. Dette kan skje av flere grunner:
1. Siden har blitt byttet ut til disk. Når operativsystemet trenger å frigjøre minne, kan det bytte ut noen sider til disk for å gi plass til andre prosesser. Når et program prøver å få tilgang til en av disse byttede sidene, oppstår det en sidefeil.
2. Siden er ødelagt. Hvis det oppstår maskinvarefeil eller programvarefeil, kan en minneside bli ødelagt. Når et program prøver å få tilgang til en ødelagt side, oppstår det en sidefeil.
3. Siden eksisterer ikke. Hvis et program prøver å få tilgang til en minneplassering som er utenfor den tildelte minneplassen, oppstår det en sidefeil.
Når en sidefeil oppstår, må operativsystemet ta skritt for å løse den. Det første trinnet er å sjekke om siden har blitt byttet ut til disk. Hvis den har det, vil operativsystemet laste siden tilbake til minnet fra disken. Hvis siden har blitt ødelagt, vil operativsystemet forsøke å reparere den. Hvis siden ikke eksisterer, vil operativsystemet avslutte programmet som forårsaket sidefeilen.
Sidefeil kan føre til at programmer kjører tregere fordi operativsystemet må ta tid å løse dem. Imidlertid kan sidefeil også bidra til å beskytte operativsystemet og andre programmer fra å få tilgang til ødelagt minne.
Håndtering av sidefeil
Operativsystemet kan bruke ulike strategier for å håndtere sidefeil. Noen vanlige strategier inkluderer:
* Be om personsøk: Ved behovssøking laster operativsystemet en side inn i minnet bare når det er nødvendig. Dette kan redusere mengden minne som brukes og kan forbedre ytelsen, men det kan også øke ventetiden for å få tilgang til sider som ikke allerede er i minnet.
* Forberedelse: Ved prepaging laster operativsystemet inn sider i minnet før de er nødvendige. Dette kan redusere ventetiden for tilgang til sider, men det kan også øke mengden minne som brukes.
* Lat evaluering: Ved lat evaluering laster ikke operativsystemet en side inn i minnet før den faktisk brukes. Dette kan redusere mengden minne som brukes og kan forbedre ytelsen, men det kan også øke ventetiden for å få tilgang til sider.
* Kopier-på-skriv: I kopi-på-skriv oppretter operativsystemet en kopi av en side når den endres. Dette gjør at flere prosesser kan dele samme side uten å måtte bekymre deg for å ødelegge hverandres data.
Operativsystemet kan velge den beste strategien for å håndtere sidefeil basert på de spesifikke behovene til systemet.