Kas yra puslapio gedimas?

Puslapio gedimas yra operacija, kuri įvyksta kompiuteryje su virtualia atmintimi – technika, leidžiančia tam tikrai standžiojo disko daliai padidinti kompiuterio fizinę atmintį. Dauguma puslapio klaidų įvyksta, kai programa bando pasiekti informaciją, kuri buvo patalpinta į virtualiosios atminties failą standžiajame diske. Tai normali virtualiosios atminties funkcija, o kompiuteris reaguos įkeldamas atitinkamą informaciją į fizinę atmintį. Rimtesnė puslapio klaida, susijusi su gedimais ir kompiuterio klaidomis, gali atsirasti, kai programa ieško informacijos atminties vietoje, kurios nėra arba kuri yra apsaugota. Tai gali sukelti sugedusi aparatinė įranga arba prastai parašyta programinė įranga.

Šiuolaikinės kompiuterių sistemos padalija atmintį į mažesnes dalis, žinomas kaip puslapiai, kurių kiekvienas puslapis pasiekiamas konkrečiu adresu. Dauguma sistemų taip pat palaiko koncepciją, vadinamą virtualia atmintimi, pagal kurią puslapiai gali būti perkelti iš fizinės kompiuterio laisvosios kreipties atminties (RAM) į virtualiosios atminties failą, saugomą kompiuterio standžiajame diske, ir, jei reikia, atgal į RAM. Šios sudėtingos atminties valdymo schemos detalės yra paslėptos nuo programinės įrangos; programa negali žinoti, ar puslapis nurodytu adresu yra įkeltas į RAM, ar yra virtualiojoje atmintyje. Puslapio klaida įvyksta, kai programa bando nuskaityti arba manipuliuoti atminties dalimi, kuri neįkelta į RAM arba yra netikėtu adresu.

Nepaisant grėsmingo pavadinimo, puslapio gedimas paprastai yra įprastas ir laukiamas veiksmas, ir dažniausiai vartotojas niekada nepastebi, kad gedimas įvyko. Tai operacijos tipas, žinomas kaip „spąstai“, o tai reiškia, kad gedimą sukėlusios programos instrukcijos laikinai perimamos arba užstringamos, kol kompiuteris tikrina atitinkamą atminties adresą. Jei adresas galioja, bet šiuo metu neįkeltas į kompiuterio RAM, informacija iš standžiajame diske esančio virtualiosios atminties failo perkeliama į fizinę atmintį ir programa vėl pradeda normaliai veikti. Tai vadinama „pakeitimu“ arba „įjungimu“ ir būdinga beveik kiekvienam asmeniniam kompiuteriui, nepriklausomai nuo operacinės sistemos ar įdiegtos RAM kiekio. Tačiau dėl per mažai RAM kompiuteris nuolat maišo atminties puslapius tarp standžiojo disko ir fizinės atminties, o tai pablogins našumą.

Antrasis galimas puslapio gedimo rezultatas įvyksta, kai nustatoma, kad prašomas atminties adresas yra netinkamas arba apsaugotas. Tokio tipo klaidą, dar vadinamą segmentavimo klaida, gali sukelti sugedę atminties moduliai, sugedę standieji diskai arba netinkamai veikianti programinė įranga. Gedimą sukėlusiai programai siunčiamas specialus signalas, dėl kurio dažniausiai programa staiga išsijungia. Priklausomai nuo operacinės sistemos, dėl rimčiausių puslapių gedimų gali sugesti kompiuterio operacinė sistema, todėl vartotojai gali gauti paslaptingą mėlynąjį mirties ekraną (BSoD) arba branduolio panikos pranešimą.