Mis on lehe viga?

Lehetõrge on toiming, mis toimub virtuaalmäluga arvutis – tehnika, mis võimaldab kõvaketta osal arvuti füüsilist mälu suurendada. Enamik lehetõrkeid ilmnevad siis, kui programm proovib pääseda juurde teabele, mis on salvestatud kõvaketta virtuaalmälu faili. See on virtuaalse mälu tavaline funktsioon ja arvuti reageerib vastava teabe füüsilisse mällu laadimisega. Tõsisemat tüüpi lehetõrge, mis on seotud krahhide ja arvutitõrgetega, võib ilmneda siis, kui programm otsib teavet mälukohast, mida pole olemas või mis on kaitstud. Selle põhjuseks võib olla vigane riistvara või halvasti kirjutatud tarkvara.

Kaasaegsed arvutisüsteemid jagavad mälu väiksemateks tükkideks, mida nimetatakse lehtedeks, kusjuures igale lehele pääseb juurde kindel aadress. Enamik süsteeme toetab ka virtuaalmäluna tuntud kontseptsiooni, mille puhul saab lehti arvuti füüsilisest muutmälust (RAM) välja teisaldada arvuti kõvakettale salvestatud virtuaalmälu faili ning vajadusel tagasi RAM-i. Selle keeruka mäluhaldusskeemi üksikasjad on tarkvara eest peidetud; rakendus ei saa kuidagi teada, kas antud aadressil olev leht on laaditud RAM-i või virtuaalmälus või mitte. Lehetõrge ilmneb siis, kui programm üritab lugeda või manipuleerida mälu osa, mis pole RAM-i laaditud või asub ootamatul aadressil.

Vaatamata kurjakuulutavale nimele on lehe rike üldiselt normaalne ja oodatud tegevus ning enamasti ei märka kasutaja tõrke ilmnemist kunagi. See on teatud tüüpi toiming, mida nimetatakse lõksuks, mis tähendab, et tõrke käivitanud programmi juhised võetakse ajutiselt kinni või püütakse kinni, kuni arvuti kõnealust mäluaadressi uurib. Kui aadress on kehtiv, kuid pole hetkel arvuti RAM-i laaditud, kantakse teave kõvakettal olevast virtuaalmälu failist füüsilisse mällu ja programm jätkab normaalset tööd. Seda nimetatakse “sissevahetuseks” või “sisseleheks” ja see on tavaline peaaegu iga personaalarvuti jaoks, olenemata operatsioonisüsteemist või installitud RAM-i hulgast. Liiga vähe RAM-i aga segab arvuti pidevalt mälulehti kõvaketta ja füüsilise mälu vahel, mis halvendab jõudlust.

Lehe tõrke teine ​​võimalik tulemus ilmneb siis, kui soovitud mäluaadress leitakse olevat kehtetu või kaitstud. Seda tüüpi tõrkeid, mida nimetatakse ka segmenteerimisveaks, võivad põhjustada rikkis mälumoodulid, vigased kõvakettad või valesti töötav tarkvara. Rikke vallandanud programmile saadetakse spetsiaalne signaal, mis tavaliselt põhjustab programmi järsu väljalülitumise. Olenevalt operatsioonisüsteemist võivad kõige tõsisemad lehevead põhjustada arvuti operatsioonisüsteemi tõrke, jättes kasutajatele krüptilise Blue Screen of Death (BSoD) või kerneli paanika teate.