Što je greška stranice?

Greška stranice je operacija koja se događa na računalu s virtualnom memorijom, tehnika koja omogućuje dijelu tvrdog diska da poveća fizičku memoriju računala. Većina grešaka stranice događa se kada program pokuša pristupiti informacijama koje su smještene u virtualnu memorijsku datoteku na tvrdom disku. Ovo je normalna funkcija virtualne memorije, a računalo će odgovoriti učitavanjem odgovarajućih informacija u fizičku memoriju. Ozbiljnija vrsta greške stranice povezana s rušenjem i računalnim pogreškama može se pojaviti kada program traži informacije na memorijskoj lokaciji koja ne postoji ili je zaštićena. To može biti uzrokovano neispravnim hardverom ili loše napisanim softverom.

Suvremeni računalni sustavi dijele memoriju na manje dijelove poznate kao stranice, pri čemu se svakoj stranici pristupa putem određene adrese. Većina sustava također podržava koncept poznat kao virtualna memorija, u kojem se stranice mogu premjestiti iz fizičke memorije Random Access Memory (RAM) računala u datoteku virtualne memorije pohranjenu na tvrdom disku računala, a prema potrebi natrag u RAM. Detalji ove složene sheme upravljanja memorijom skriveni su od softvera; aplikacija nema načina da zna je li stranica na danoj adresi učitana u RAM ili je u virtualnoj memoriji. Greška stranice nastaje kada program pokuša pročitati ili manipulirati dijelom memorije koji nije učitan u RAM ili se nalazi na neočekivanoj adresi.

Unatoč zlokobnom nazivu, greška stranice općenito je normalna i očekivana radnja, a većinu vremena korisnik nikada neće primijetiti da je došlo do greške. To je vrsta operacije poznata kao “zamka”, što znači da su upute iz programa koji je pokrenuo grešku privremeno presretnute ili zarobljene dok računalo ispituje dotičnu memorijsku adresu. Ako je adresa važeća, ali trenutno nije učitana u RAM računala, informacije se prenose iz datoteke virtualne memorije na tvrdom disku u fizičku memoriju i program nastavlja s normalnim radom. To je poznato kao “swapping in” ili “paging in” i uobičajeno je za gotovo svako osobno računalo, bez obzira na operativni sustav ili količinu instalirane RAM-a. Premalo RAM-a, međutim, uzrokuje da računalo neprestano miješa memorijske stranice između tvrdog diska i fizičke memorije, što će pogoršati performanse.

Drugi mogući ishod greške stranice događa se kada se utvrdi da je tražena memorijska adresa nevažeća ili zaštićena. Ova vrsta pogreške, također poznata kao greška segmentacije, može biti uzrokovana neispravnim memorijskim modulima, neispravnim tvrdim diskovima ili neispravnim dijelom softvera. Programu koji je izazvao kvar šalje se poseban signal, što obično uzrokuje nagli prekid programa. Ovisno o operativnom sustavu, najozbiljnije greške na stranici mogu uzrokovati otkaz operativnog sustava računala, ostavljajući korisnike sa zagonetnom plavim ekranom smrti (BSoD) ili paničnom porukom kernela.