Pomnilnik napak strani Windows 7. Kode napak upravitelja naprav. Spremljanje porabe pomnilnika v sistemu Windows

V svojem zadnjem članku "" sem govoril o zmožnostih nadzornika virov sistema Windows 7 (Resource Monitor), razložil, kako ga uporabiti za spremljanje porazdelitve sistemskih virov med procesi in storitvami, ter omenil, da ga je mogoče uporabiti za reševanje specifičnih težave - na primer za analizo porabe pomnilnika. Prav o tem bo razpravljal ta članek.

Malo o spominu

Pred začetkom analize bom na kratko spregovoril o tem, kako se nadzoruje spomin. Tako boste lažje razumeli, katere informacije so predstavljene v nadzorniku virov Windows 7.

Windows 7 Memory Manager ustvari navidezni pomnilniški sistem, ki je sestavljen iz razpoložljivega fizičnega RAM-a in ostranjevalne datoteke na trdem disku. To omogoča operacijskemu sistemu, da dodeli pomnilniške bloke (strani) s fiksno dolžino z zaporednimi naslovi v fizičnem in navideznem pomnilniku.

Zagon programa Windows 7 Resource Monitor

Če želite zagnati Windows 7 Resource Monitor, odprite meni Start, v iskalno vrstico vnesite "Resmon.exe" in kliknite. V oknu, ki se odpre, izberite zavihek »Pomnilnik« (slika A).

Slika A: Zavihek Memory v programu Windows 7 Resource Monitor ponuja podrobne informacije o dodelitvi pomnilnika.

Tabela procesov

Zavihek Pomnilnik ima tabelo Procesi (slika B), v kateri so navedeni vsi tekoči procesi in uporaba pomnilnika razdeljena na več kategorij.


Slika B: Informacije o uporabi pomnilnika za vsak proces so razdeljene v več kategorij.

Stolpec "Slika"

V stolpcu »Slika« je navedeno ime izvršljiva datoteka postopek. procesi, ki jih zaženejo aplikacije, je zelo enostavno ugotoviti - na primer, proces "notepad.exe" jasno pripada Notepadu. Procesi z imenom "svchost.exe" predstavljajo različne storitve operacijskega sistema. Ime storitve je prikazano v oklepaju poleg imena procesa.

Stolpec ID procesa

Stolpec ID procesa (PID) označuje številko procesa – edinstveno kombinacijo številk, ki vam omogoča identifikacijo tekočega procesa.

Stolpec »Dokončano«.

Stolpec Commit označuje količino navideznega pomnilnika v kilobajtih, ki ga je sistem rezerviral za ta proces. To vključuje uporabljeni fizični pomnilnik in strani, shranjene v ostranjevalni datoteki.

Stolpec "Delovni niz"

Stolpec Working Set označuje količino fizičnega pomnilnika v kilobajtih, ki ga uporablja proces v ta trenutekčas. Delovni niz je sestavljen iz javnega in zasebnega pomnilnika.

Stolpec "Splošno"

Stolpec za skupno rabo označuje količino fizičnega pomnilnika v kilobajtih, ki si ga ta proces deli z drugimi. Skupna raba enega segmenta pomnilnika ali izmenjalne strani za povezane procese lahko prihrani prostor v pomnilniku. To fizično shrani samo eno kopijo strani, ki se nato preslika v virtualni naslovni prostor drugih procesov, ki dostopajo do nje. Na primer vsi procesi, ki jih sproži sistem DLL-ji- Ntdll, Kernel32, Gdi32 in User32 - uporabljajo skupni pomnilnik.

Stolpec "Zasebno"

Stolpec Zasebno označuje količino fizičnega pomnilnika v kilobajtih, ki ga uporablja izključno ta proces. Ta vrednost vam omogoča, da določite, koliko pomnilnika potrebuje določena aplikacija za delovanje.

Stolpec »Napake strani, ki manjka v pomnilniku/s.«

V stolpcu »Napake strani brez pomnilnika/sek.« (Hard Faults/sec) prikazuje povprečno število napak strani zmanjkalo pomnilnika na sekundo v zadnji minuti. Če poskuša proces uporabiti več fizičnega pomnilnika, kot je trenutno na voljo, sistem zapiše nekaj podatkov iz pomnilnika na disk – v stransko datoteko. Poznejši dostop do podatkov, shranjenih na disku, se imenuje napaka strani zmanjka pomnilnika.

Kaj pomenijo napake strani zmanjkalo pomnilnika?

Zdaj, ko imate predstavo o tem, katere informacije so zbrane v tabeli Procesi, poglejmo, kako jih lahko uporabite za spremljanje dodeljevanja pomnilnika. Pri izvajanju aplikacij in delu z datotekami upravljalnik pomnilnika spremlja velikost delovnega niza vsakega procesa in beleži zahteve za dodatne pomnilniške vire. Ko se delovni niz procesa poveča, dispečer uskladi te zahteve s potrebami jedra in drugih procesov. Če je razpoložljivi naslovni prostor nezadosten, dispečer zmanjša velikost delovnega niza tako, da shrani podatke iz pomnilnika na disk.

Kasneje se pri branju teh podatkov z diska pojavi napaka strani zmanjka pomnilnika. To je povsem običajno, a če se napake pojavijo istočasno za različne procese, sistem potrebuje dodaten čas za branje podatkov z diska. Prepogoste napake strani brez pomnilnika posledično zmanjšajo zmogljivost sistema. Verjetno ste že doživeli nepričakovane upočasnitve vseh aplikacij, ki so se nato tudi nenadoma ustavile. Ta upočasnitev je bila skoraj zagotovo posledica aktivne prerazporeditve podatkov med fizičnim pomnilnikom in zamenjavo.

Zaključek je naslednji: če se napake izmanjkanja pomnilnika za določen proces pojavljajo prepogosto in redno, računalnik nima dovolj fizičnega pomnilnika.

Če želite bolj priročno spremljati procese, ki povzročajo pogoste napake zaradi pomanjkanja pomnilnika, jih lahko označite z zastavicami. V tem primeru se bodo izbrani procesi premaknili na vrh seznama, v grafu napak manjkajoče strani pa bodo predstavljeni z oranžno krivuljo.

Upoštevati je treba, da je dodeljevanje pomnilnika odvisno od številnih drugih dejavnikov in spremljanje napak zaradi pomanjkanja pomnilnika strani ni niti najboljše niti edina pot prepoznavanje težav. Lahko pa služi kot dobro izhodišče za opazovanje.

Tabela "Fizični spomin"

Tabela Procesi ponuja podrobne informacije o dodelitvi pomnilnika med posameznimi procesi, medtem ko tabela Fizični pomnilnik daje splošno sliko uporaba RAM-a. Njegova ključna komponenta je edinstven histogram, prikazan na sl. C.


Slika C: Histogram v tabeli fizičnega pomnilnika ponuja pregled porazdelitve pomnilnika v sistemu Windows 7.

Vsak del histograma je označen s svojo barvo in predstavlja določeno skupino pomnilniških strani. Ko se sistem uporablja, upravljalnik pomnilnika v ozadje premika podatke med temi skupinami in ohranja občutljivo ravnovesje med fizičnim in navideznim pomnilnikom, da zagotovi učinkovito delovanje vseh aplikacij. Oglejmo si podrobneje histogram.

Oddelek “Rezervirana oprema”

Na levi je razdelek »Rezervirana strojna oprema«, označen s sivo: to je pomnilnik, dodeljen za potrebe povezane strojne opreme, ki jo ta uporablja za interakcijo z operacijskim sistemom. Pomnilnik, rezerviran za strojno opremo, je zaklenjen in upravitelj pomnilnika do njega ne more dostopati.

Običajno je količina pomnilnika, dodeljenega opremi, od 10 do 70 MB, vendar je ta številka odvisna od specifične konfiguracije sistema in v nekaterih primerih lahko doseže več sto megabajtov. Komponente, ki vplivajo na količino rezerviranega pomnilnika, vključujejo:

;
Komponente matična plošča- na primer napredni programabilni vhodno/izhodni krmilnik prekinitev (APIC);
zvočne kartice in druge naprave, ki izvajajo pomnilniško preslikan vhod/izhod;
vodilo PCI Express (PCIe);
video kartice;
različni nabori čipov;
bliskovni pogoni.

Nekateri uporabniki se pritožujejo, da njihovi sistemi rezervirajo nenormalno količino pomnilnika za njihovo strojno opremo. Še nikoli nisem naletel na takšno situacijo in zato ne morem jamčiti za učinkovitost predlagane rešitve, vendar mnogi ugotavljajo, da lahko posodobitev različice BIOS-a reši težavo.

Razdelek »V uporabi«.

Razdelek V uporabi, prikazan zeleno, predstavlja količino pomnilnika, ki ga uporabljajo sistem, gonilniki in tekočih procesov. Količina uporabljenega pomnilnika se izračuna kot vrednost »Skupno« minus vsota indikatorjev »Spremenjeno«, »Stanje pripravljenosti« in »Prosto«. V zameno je vrednost »Skupaj« indikator »Nameščen RAM« minus indikator »Rezervirana oprema«.

Razdelek "Spremenjeno"

Razdelek »Modified« je označen z oranžno barvo, kar predstavlja pomnilnik, ki je bil spremenjen, vendar neuporabljen. Pravzaprav se ne uporablja, vendar se lahko kadar koli ponovno uporabi. Če pomnilnik dlje časa ni bil uporabljen, se podatki prenesejo v stransko datoteko in pomnilnik gre v kategorijo "Čakanje".

Oddelek "Čakanje"

Razdelek v čakanju, prikazan modro, predstavlja pomnilniške strani, ki so bile odstranjene iz delovnih nizov, vendar so še vedno povezane z njimi. Z drugimi besedami, kategorija "Čakanje" je pravzaprav predpomnilnik. Pomnilniškim stranem v tej kategoriji je dodeljena prioriteta od 0 do 7 (največja). Strani, povezane s procesi z visoko prioriteto, imajo največjo prednost. Na primer, procesi v skupni rabi imajo visoko prioriteto, zato imajo strani, ki so povezane z njimi, najvišjo prednost v kategoriji V teku.

Če proces zahteva podatke s čakajoče strani, upravitelj pomnilnika to stran takoj vrne v delovni niz. Vse strani v kategoriji V teku pa so na voljo za beleženje podatkov iz drugih procesov. Ko proces potrebuje dodatni pomnilnik, in ni dovolj prostega pomnilnika, upravitelj pomnilnika izbere čakalno stran z najnižjo prioriteto, jo inicializira in dodeli procesu, ki zahteva.

Oddelek "Brezplačno"

Kategorija Free, označena z modro, predstavlja strani pomnilnika, ki še niso bile dodeljene nobenemu procesu ali so bile sproščene, ko se je proces končal. Ta razdelek prikazuje neuporabljen in sproščen pomnilnik, vendar dejansko neuporabljeni pomnilnik spada v drugo kategorijo - »Zero Pages«, ki se tako imenuje, ker so te strani inicializirane na nič in pripravljene za uporabo.

O problemu prostega pomnilnika

Zdaj, ko že osnovno razumete, kako deluje upravitelj pomnilnika, si vzemimo trenutek in razpravljamo o pogosti napačni predstavi o sistemu za upravljanje pomnilnika v sistemu Windows 7. Kot lahko vidite na sliki 1. C, Odsek prostega pomnilnika je eden najmanjših v histogramu. Vendar je na tej podlagi napačno domnevati, da Windows 7 porabi preveč pomnilnika in da sistem ne more pravilno delovati, če je prostega pomnilnika tako malo.

Pravzaprav je ravno nasprotno. V kontekstu pristopa Windows 7 k upravljanju pomnilnika je prosti pomnilnik neuporaben. Več pomnilnika je uporabljeno, bolje je. Z maksimiziranjem pomnilnika in nenehnim premikanjem strani iz ene kategorije v drugo z uporabo prednostnega sistema Windows 7 izboljša učinkovitost in preprečuje, da bi podatki končali v ostranski datoteki, kar preprečuje, da bi napake zunaj strani upočasnile delovanje.

Spremljanje pomnilnika

Želite videti sistem za upravljanje pomnilnika Windows 7 v akciji? Znova zaženite računalnik in takoj po zagonu odprite Nadzornik virov Windows 7. Pojdite na zavihek Pomnilnik in bodite pozorni na razmerje odsekov v histogramu fizičnega pomnilnika.

Nato začnite zaganjati aplikacije. Med tekom opazujte spreminjanje histograma. Ko zaženete čim več aplikacij, jih začnite eno za drugo zapirati in opazujte, kako se spreminja razmerje odsekov v histogramu fizičnega pomnilnika.

S tem ekstremnim poskusom boste razumeli, kako Windows 7 upravlja pomnilnik na vašem računalniku, in boste lahko uporabljali Windows 7 Resource Monitor za spremljanje dodeljevanja pomnilnika v običajnih vsakodnevnih pogojih delovanja.

Kaj misliš?

Vam je všeč zamisel o uporabi programa Windows 7 Resource Monitor za spremljanje dodeljevanja pomnilnika? Delite svoje mnenje v komentarjih!

Preventivni/nepreventivni algoritmi.

V primeru preventivnega algoritma operacijski sistem kadarkoli lahko prekine izvajanje trenutne niti in preklopi procesor na drugo nit. Pri algoritmih brez prednosti se nit, ki je dana procesorju, samo odloči, kdaj naj nadzor prenese na operacijski sistem.

Algoritmi s kvantizacijo.

Vsaki niti je dodeljena časovna rezina, v kateri se lahko nit izvaja na procesorju. Ko kvantum poteče, operacijski sistem preklopi procesor na naslednjo nit v čakalni vrsti. Kvantum je običajno enak celemu številu intervalov sistemskega časovnika 1.

Algoritmi s prioritetami.

Vsaki niti je dodeljena prednost - celo število, ki označuje stopnjo privilegija niti. Operacijski sistem, če je več niti pripravljenih za izvajanje, izbere nit z najvišjo prednostjo.

Windows izvaja mešani algoritem razporejanja - preventivni, ki temelji na kvantizaciji in prioritetah.

  1. Vrsta večopravilnosti za aplikacijo DOS
  2. Garancije za storitve
  3. Načrtovanje procesov v ospredju
  4. Namen ostranjevalne datoteke
  5. Procesi P1, P2, P3 dodelijo 100, 20, 80 MB pomnilnika. Sistem ima 128 MB RAM-a. Kolikšna je velikost zasedenega pomnilnika v stranski datoteki. Kakšna je velikost izmenjalne datoteke.
  1. Kaj je "napaka strani"?

Prekinitev 14 -Napaka strani (#PF): Intel386…

Ustvari se, če je motor strani aktiviran (CR0.PG = 1) in se pri prevajanju linearnega naslova v fizičnega zgodi ena od naslednjih situacij:

  • element tabele strani ali imenika strani, ki se uporablja pri prevajanju naslovov, ima ničelni bit prisotnosti, tj. zahtevana tabela strani ali stran ni prisotna v fizičnem pomnilniku;
  • postopek nima raven privilegijev, ki zadostuje za dostop do izbrane strani, ali poskuša pisati na stran, ki je zaščitena pred pisanjem za trenutno raven privilegijev.

Obravnavalec napak na strani pridobi informacije o njihovem vzroku iz dveh virov: kode napake, ki je potisnjena na sklad, in vsebine registra CR2, ki vsebuje linearni naslov, ki je povzročil napako. Koda napake strani ima posebno obliko (slika 3.7.).

Prekinjen program se po odpravi vzrokov, ki so povzročili napako strani (na primer nalaganje strani v fizični pomnilnik), lahko nadaljuje brez kakršnih koli dodatnih prilagoditev.

Če je do napake strani prišlo zaradi kršitve varnostnih privilegijev strani, je nastavljen bit za dostop (A) v ustreznem vnosu imenika strani. Obnašanje dostopnega bita v ustreznem elementu tabel strani za ta primer ni regulirano v Intel procesorji in se lahko razlikujejo v različnih modelih.

  1. Visoka intenzivnost napake na strani piše:

Programske negotovosti

Nezanesljivost RAM-a

Drugo: razloži

Stolpec »Napake strani, ki manjka v pomnilniku/s.«

V stolpcu »Napake strani brez pomnilnika/sek.« (Hard Faults/sec) prikazuje povprečno število napak strani zmanjkalo pomnilnika na sekundo v zadnji minuti. Če poskuša proces uporabiti več fizičnega pomnilnika, kot je trenutno na voljo, sistem zapiše nekaj podatkov iz pomnilnika na disk – v stransko datoteko. Poznejši dostop do podatkov, shranjenih na disku, se imenuje napaka strani zmanjka pomnilnika.

Kaj pomenijo napake strani zmanjkalo pomnilnika?

Zdaj, ko imate predstavo o tem, katere informacije so zbrane v tabeli Procesi, poglejmo, kako jih lahko uporabite za spremljanje dodeljevanja pomnilnika. Pri izvajanju aplikacij in delu z datotekami upravljalnik pomnilnika spremlja velikost delovnega niza vsakega procesa in beleži zahteve za dodatne pomnilniške vire. Ko se delovni niz procesa poveča, dispečer uskladi te zahteve s potrebami jedra in drugih procesov. Če je razpoložljivi naslovni prostor nezadosten, dispečer zmanjša velikost delovnega niza tako, da shrani podatke iz pomnilnika na disk.

Kasneje se pri branju teh podatkov z diska pojavi napaka strani zmanjka pomnilnika. To je povsem običajno, a če se napake pojavijo istočasno za različne procese, sistem potrebuje dodaten čas za branje podatkov z diska. Prepogoste napake o pomanjkanju pomnilnika strani zmanjšajo zmogljivost sistema. Verjetno ste že doživeli nepričakovane upočasnitve vseh aplikacij, ki so se nato tudi nenadoma ustavile. Ta upočasnitev je bila skoraj zagotovo posledica aktivne prerazporeditve podatkov med fizičnim pomnilnikom in zamenjavo.

Zaključek je naslednji: če se napake strani zmanjka pomnilnika za določen proces pojavljajo prepogosto in redno, Računalnik nima dovolj fizičnega pomnilnika.

Če želite bolj priročno spremljati procese, ki povzročajo pogoste napake zaradi pomanjkanja pomnilnika, jih lahko označite z zastavicami. V tem primeru se bodo izbrani procesi premaknili na vrh seznama, v grafu napak manjkajoče strani pa bodo predstavljeni z oranžno krivuljo.

Upoštevati je treba, da je dodeljevanje pomnilnika odvisno od številnih drugih dejavnikov in spremljanje napak strani brez pomnilnika ni najboljši ali edini način za prepoznavanje težav. Lahko pa služi kot dobro izhodišče za opazovanje.

  1. Kako se določi prednost niti v sistemu Windows?

Prednostne naloge

Windows OS izvaja vnaprejšnje prednostno razporejanje, ko je vsaki niti dodeljena določena številčna vrednost - prioriteta, v skladu s katero ji je dodeljen procesor. Niti z enakimi prioritetami so razporejene po algoritmu Round Robin (vrtiljak). Pomembna prednost sistema je zmožnost preprečevanja niti, ki se izvajajo v načinu jedra - izvršna sistemska koda je popolnoma ponovno vstopljiva. Samo niti, ki imajo spinlock, niso vnaprej izvzete (glejte "Sinhroniziranje niti"). Zato se spinlocki uporabljajo zelo previdno in so nastavljeni na minimalni čas.

Sistem ponuja 32 stopenj prioritete. Šestnajst prioritetnih vrednosti (16-31) ustreza prednostni skupini v realnem času, petnajst vrednosti (1-15) je za običajne niti, vrednost 0 pa je rezervirana za sistemsko nit ničelne strani (glejte sliko 6.2). ).

riž. 6.2. Prioritete niti

Da si uporabnik ne bi zapomnil številske vrednosti prioritete in možnost spreminjanja razporejevalnika, ki so ga razvijalci uvedli v sistem prednostni sloj abstrakcije. Na primer, prednostni razred za vse niti določenega procesa je mogoče nastaviti z nizom stalnih parametrov funkcije SetPriorityClass, ki ima lahko naslednje vrednosti:

  • realnem času (REALTIME_PRIORITY_CLASS) - 24
  • visoko (HIGH_PRIORITY_CLASS) - 13
  • nad normalno (ABOVE_NORMAL_PRIORITY_CLASS) 10
  • normalno (NORMAL_PRIORITY_CLASS) - 8
  • pod normalno (BELOW_NORMAL_PRIORITY_CLASS) - 6
  • in nedejaven (IDLE_PRIORITY_CLASS) 4

Relativno prioriteto niti nastavijo podobni parametri funkcije SetThreadPriority:

Niz šestih razredov prioritete procesa in sedmih razredov prioritete niti tvori 42 možnih kombinacij in nam omogoča oblikovanje tako imenovane osnovne prioritete niti.

Privzeta osnovna prioriteta procesa in primarne niti je vrednost v sredini razponov prioritete procesa ( 24, 13, 10, 8, 6 ali 4). Spreminjanje prioritete procesa pomeni spremembo prioritet vseh njegovih niti, medtem ko njihove relativne prioritete ostanejo nespremenjene.

Prioritete od 16 do 31 v resnici niso prioritete v realnem času, ker mehka podpora sistema Windows v realnem času ne daje nobenih jamstev glede časovne razporeditve niti. To so preprosto višje prioritete, ki so rezervirane za sistemske niti in tiste niti, ki jim tako prednost dodeli uporabnik s skrbniškimi pravicami. Vendar prisotnost prioritet v realnem času, kot tudi prednostna možnost kode jedra, lokalizacija pomnilniških strani (glejte "Delovanje upravljalnika pomnilnika") in številne dodatne lastnosti- vse to vam omogoča, da ga izvajate v okolju OS Windows aplikacije mehki realnem času, na primer večpredstavnost. Sistemska nit z ničelno prioriteto je zaposlena s čiščenjem pomnilniških strani. Običajne uporabniške niti imajo lahko prioritete od 1 do 15.


Povezane informacije.


Dodeljevanje pomnilnika v sistemih Windows 9x in Windows NT. Nadzornik virov Windows 7. Raziščite elemente in zavihke, povezane s pomnilnikom. Uporaba programa Windows 7 Resource Monitor za spremljanje dodeljevanja pomnilnika. Povečanje velikosti ostranjevalne datoteke (virtualni pomnilnik). Preverjanje pomnilnika s sistemom Windows.

3.1. Dodeljevanje pomnilnika v sistemu Windows 9x

Windows 9x OS je 32-bitni večnitni OS s prednostno večopravilnostjo in grafičnim uporabniškim vmesnikom. Za zagon uporabljajo MS-DOS 7.0, ki omogoča dva načina delovanja procesorja - realnega (BootGUI=0 je zapisan v datoteki MSDOS.SYS) in zaščitenega (BootGUI=1). Zaščiten način je nameščen tik pred zagonom sistema Windows 9x, kar povzroči, da procesor začne upravljati pomnilnik s pomočjo ostranjevalnega mehanizma virtualni naslovi v fizične. Območje virtualnega naslovnega prostora je sestavljeno iz 4 kilobajtnih strani, ki se nahajajo v RAM-u ali na disku.

Nižje naslove virtualnega naslovnega prostora vsi procesi uporabljajo skupaj, da zagotovijo združljivost z gonilniki naprav v realnem času, rezidenčnimi programi Windows itd. To je po eni strani priročno, po drugi strani pa zmanjšuje zanesljivost (ena glavnih lastnosti OS), ker vsak postopek lahko poškoduje komponente, ki se nahajajo na teh naslovih.

Vsak 32-bitni program Windows teče v svojem naslovnem prostoru, vendar je možen dostop do potrebnih naslovov, tj. organizacija virtualnih naslovov ne uporablja vse strojne zaščite, vgrajene v mikroprocesor. 16-bitni programi si delijo skupni naslovni prostor in so med seboj tudi ranljivi. Model pomnilnika Windows 9x je prikazan na sliki 3.1.

riž. 3.1. OP distribucije v sistemu Windows 9x

Spodnjih 64 KB OP ni dostopnih 32-bitnim programom, vendar lahko 16-bitni programi tukaj zapišejo svoje podatke. Naslovi pod 4 MB so preslikani v naslovni prostor vsakega aplikacijskega programa in si jih delijo vsi procesi. Zaradi tega je to področje ranljivo za nenamerno pisanje.

Najmanjša zahtevana količina pomnilnika za delovanje Windows 9x je 4 MB, vendar je s to količino pomnilnika praktično nemogoče delati. stranska datoteka , s pomočjo katerega se izvaja mehanizem navideznega pomnilnika, se nahaja v imeniku Windows in ima spremenljivo velikost, ki jo po potrebi spremeni sistem sam. Njegove dimenzije lahko nastavite s sistemskimi orodji (Nadzorna plošča → Sistem → Zmogljivost → Datotečni sistem) ali določite v razdelku SYSTEM.INI datoteke - vrstice, ki označujejo pogon in ime datoteke:

Pagingfive=c:\PageFile.sys

MinPagingFileSize=65536 (64 MB)

MaxPagingFileSize=262144 (256 MB)

Prva in druga vrstica določata ime datoteke in njeno lokacijo, zadnji dve pa začetno in največjo velikost stranske datoteke v KB.

Najmanjšo velikost ostranjevalne datoteke lahko dobite tako, da zaženete SysMon (System Monitor) in izberete velikost ostranjevalne datoteke in količino prostega pomnilnika kot zahtevana parametra za oceno pomnilniških zahtev najpogosteje uporabljenih aplikacij.

3.2. Dodeljevanje pomnilnika v sistemu Windows NT

Razlike med distribucijsko shemo in Windows 9x so naslednje:

1) resnejša uporaba strojne zaščite pomnilnika v mikroprocesorju;

2) vsi moduli sistemske programske opreme se nahajajo v svojih virtualnih naslovnih prostorih in aplikacijski programi do njih ne morejo dostopati.

Porazdelitev naslovnega prostora v sistemu Windows NT je prikazana na sl. 3.2.

riž. 3.2. OP distribucije v sistemu Windows NT

Aplikacijskim programom je dodeljenih 2 GB lokalnega (lastnega) linearnega (nestrukturiranega) naslovnega prostora (prvih 64 KB ni na voljo). Med seboj so izolirani in lahko med seboj komunicirajo samo prek odložišča ali prek mehanizmov DDE (Dynamic Data Exchange) in OLE (Object Linking and Embedding).

Zgornji del območja 2 GB vsebuje kodo za sistemske DLL (dinamično povezane knjižnice), ki delujejo kot strežniški procesi. Preverijo vrednosti parametrov poizvedbe, izvedejo zahtevano funkcijo in pošljejo rezultate nazaj v naslovni prostor klicajočega programa.

V območju naslovov 2-4 GB so sistemske (nizkonivojske) komponente sistema Windows (tj. najvišja stopnja zaščite pred nepooblaščenim dostopom: jedro, razporejevalnik niti, upravitelj pomnilnika).

Pri 16-bitnih aplikacijah Windows se seje WOW (Windows On Windows) izvajajo v preventivnem večopravilnem načinu, posamično v svojih naslovnih prostorih ali skupaj v skupnem naslovnem prostoru.

Ob zagonu aplikacije se ustvari proces z lastno informacijsko strukturo, znotraj katere se zažene naloga. Lahko izvaja druge naloge. Posledično je organiziran večopravilni način delovanja.

Upravljanje pomnilnika (dodeljevanje, rezervacija, sprostitev, straničenje) izvaja upravljalnik navideznega pomnilnika VMM (Virtual Memory Manager). Vsaka virtualna stran se prenese na fizično stran - okvir strani, sprva zapolnjen z ničlami ​​(to je glavna zahteva standarda varnostnega sistema ravni C2, ki določa nemožnost uporabe njihove prejšnje vsebine z drugimi procesi). Prostor za zamenjavo strani je rezerviran v datoteki strani Pagefile.sys, ki je rezerviran blok prostora na disku.

Vse Windows pomnilnik NT je razdeljen na rezerviran(za dinamično uporabo s strani procesov pri izvajanju nalog), posvečen(za katerega je nalaganje rezervirano v Pagefile.sys) in dostopen(ostanek prostega pomnilnika).

      Navidezni pomnilnik v sistemu Windows

Najpogostejši razlog za upočasnitev sistema je Nadzor Windows- polnjenje fizičnega pomnilnika. Istočasno Windows začne tako imenovano "stranjenje" - premikanje blokov kode in programskih podatkov (vsak tak blok se imenuje stran) iz fizičnega pomnilnika na trdi disk. Občasno dostopanje do ostranjevalne datoteke je običajno in ne poslabša delovanja sistema, vendar lahko pogoste zahteve po podatkih iz datoteke na disku znatno zmanjšajo splošno hitrost sistema. Ta težava je še posebej opazna pri preklapljanju med več pomnilniško zahtevnimi programi v računalniku, ki ne vsebuje dovolj fizičnega pomnilnika. Posledično je disk skoraj nenehno v uporabi, ker sistem poskuša podatke iz njega "črpati" v pomnilnik in nazaj.

Če skupna velikost dodeljenega pomnilnika presega skupno količino fizičnega pomnilnika, mora Windows "črpati" strani med hitrim RAM-om in veliko počasnejšim navideznim pomnilnikom v datoteki strani, kar povzroči upočasnitev sistema.

V delu Windows namestitve Datoteka strani XP se samodejno ustvari v korenski mapi na istem disku, kjer se nahajajo sistemske datoteke Windows datoteke. Velikost ostranjevalne datoteke je določena glede na količino fizičnega pomnilnika v sistemu. Privzeto najmanjša velikost Datoteka strani je 1,5-krat večja od količine fizičnega pomnilnika, največja velikost pa je 3-krat večja. Izmenjevalno datoteko lahko vidite v oknu Raziskovalca, če omogočite način za prikaz skritih in sistemskih datotek (slika 3.3).

riž. 3.3. Omogočanje prikaza skritih in sistemskih datotek

Običajno operacijski sistem Windows sam nastavi optimalno količino navideznega pomnilnika in ta zadostuje za večino opravil, če pa se v računalniku izvajajo aplikacije, ki zahtevajo veliko pomnilnika, se lahko količina navideznega pomnilnika spremeni.

Če želite to narediti, morate izvesti naslednje zaporedje dejanj:

1. Prijavite se v sistem z računom iz skupine skrbnikov in odprite okno »Nadzorna plošča – sistem«.

2. Na kartici »Napredno« kliknite gumb »Možnosti« v razdelku »Zmogljivost« (slika 3.4).

3. V pogovornem oknu Možnosti delovanja izberite zavihek Napredno in kliknite gumb Spremeni (slika 3.5), da prikažete pogovorno okno Navidezni pomnilnik, ki je prikazano na sliki 3.5. 3.6 za Windows XP in na sl. 3.7 za Windows 7.

Trenutne nastavitve ostranjevalne datoteke se odražajo v polju »Skupna velikost ostranjevalne datoteke na vseh pogonih«.

4. Izberite kateri koli pogon s seznama na vrhu pogovornega okna, da konfigurirate nastavitve za ta pogon.

Spremenite lahko naslednje nastavitve:

- Posebna velikost. Vnesite vrednost v polje Originalna velikost da nastavite začetno velikost datoteke pagefile.sys na določenem disku (v megabajtih). Na terenu Največja velikost vnesite številko, ki ni manjša od vrednosti v polju Originalna velikost, vendar ne presega 4096 MB (4 GB).

- Velikost glede na izbiro sistema. Izberite to možnost, če želite omogočiti dinamično upravljanje velikosti ostranjevalne datoteke za tega diska. Izberite to možnost, če ne želite spremeniti privzetih nastavitev, ki jih ponuja Windows.

- Ni izmenjalne datoteke. Uporabite za vse pogone, kjer ne potrebujete stranske datoteke. Prepričajte se, da je na vsaj enem pogonu swap datoteka.

5. Po spremembah kliknite Set za beleženje sprememb.

6. Ponovite koraka 4 in 5 za druge pogone (če je potrebno). Kliknite V redu, da zaprete pogovorno okno, ko končate.

riž. 3.4. Gumb »Možnosti« za ogled in/ali

spreminjanje parametrov navideznega pomnilnika

riž. 3.5. Gumb »Spremeni« za spreminjanje nastavitev navideznega pomnilnika v Windows XP (levo) in Windows 7

riž. 3.6. Okno za ogled in nastavitev velikosti navideznega pomnilnika

riž. 3.7. Okno za ogled in nastavitev velikosti navideznega pomnilnika v sistemu Windows 7

Če ima vaš računalnik več fizičnih diskov, je najbolje, da nanje postavite stransko datoteko najhitrejši, zaželeno pa je, če sistemske datoteke Windows bo na drugem disku. Še bolje je razdeliti stransko datoteko na več fizično diskov, ker lahko krmilnik diska vzporedno obdela več zahtev za pisanje in branje.

Ne poskušajte postaviti ostranjevalne datoteke na več logičnih pogonov enega fizičnega pogona!!!

Če ima sistem en trdi disk, razdeljen na particije C, D in E, stranska datoteka pa je porazdeljena na več particij, se lahko sistem celo upočasni, saj morajo v tej konfiguraciji magnetne glave trdega diska brati podatke iz več območij, namesto od enega do drugega. eno področje diska.

Če zmanjšate najmanjšo ali največjo velikost ostranjevalne datoteke in ustvarite novo ostranjevalno datoteko na disku, morate znova zagnati sistem, da bodo spremembe začele veljati. Povečanje velikosti stranske datoteke običajno ne zahteva ponovnega zagona računalnika.

Če imate veliko fizičnega pomnilnika, vas bo morda zamikalo, da bi ostranjevalno datoteko popolnoma onemogočili. Ne počni tega! !!

Windows XP je bil zasnovan tako, da uporablja ostranjevalno datoteko za izvajanje nekaterih nalog jedra, zato lahko nekateri programi tretjih oseb poročajo o pomanjkanju pomnilnika, ko poskušajo popolnoma onemogočiti navidezni pomnilnik.

Windows ne uporablja podstranske datoteke, dokler ni potrebna, zato onemogočanje navideznega pomnilnika ne bo izboljšalo zmogljivosti!!!

Windows lahko po potrebi dinamično poveča velikost stranske datoteke. Ta funkcija deluje le, če izberete " Sistemsko izbirna velikost", pa tudi pri nastavitvi največje velikosti, ki je večja od trenutne velikosti ostranjevalne datoteke.

Na podlagi izkušenj s prejšnjimi različicami sistema Windows nekateri uporabniki poskušajo ustvariti ostranjevalno datoteko fiksne velikosti z enakimi začetnimi in maksimalne dimenzije. Teoretično bi to moralo izboljšati zmogljivost, ker odpravlja možnost fragmentacije stranske datoteke. Vendar pa je ostranjevalni podsistem zasnovan tako, da v praksi datoteka zasede le velike bloke prostora na disku, zaradi česar je fragmentacija minimalna. Morda boste opazili rahel padec zmogljivosti, ko Windows poveča velikost stranske datoteke, vendar je to enkratna operacija in ne vpliva na povprečno zmogljivost.

      Spremljanje porabe pomnilnika v sistemu Windows

Najlažji način, da ugotovite, koliko RAM-a se uporablja v določenem času, je, da odprete upravitelja opravil s klikom na ++ in pojdite na zavihek »Zmogljivost« (slika 3.8). Podroben opis informacij v zavihku »Zmogljivost« za Windows XP je predstavljen v tabeli. 3.1.

Tabela 3.1. Dešifriranje podatkov upravitelja opravil

Zavihek »Performance« za Windows7 ima precejšnje novosti v primerjavi z ustreznim zavihkom Manager Windows opravila XP.

Številka v stolpcu »Skupaj« v razdelku »Fizični pomnilnik« označuje skupno količino RAM-a za ta sistem. Stolpec Predpomnjeno prikazuje količino fizičnega pomnilnika, ki so ga nedavno uporabljali sistemski viri. Ostane v predpomnilniku, če ga sistem ponovno potrebuje, vendar je na voljo drugim procesom. Nov stolpec »Na voljo« označuje količino trenutno neuporabljenega fizičnega pomnilnika, stolpec »Prosto« pa označuje količino pomnilnika, ki ga uporablja predpomnilnik, vendar ne vsebuje uporabnih informacij.

Razdelek »Pomnilnik jedra« vsebuje dva stolpca - »Stransko« in »Nestransko«. Skupaj označujeta, koliko pomnilnika uporablja jedro. Ostranjeni je navidezni pomnilnik, nestranjeni pa fizični pomnilnik.

V razdelku »Sistem« so se pojavili stolpci za »Ročaji« in »Niti«, povezani s sestavnimi komponentami procesov. Stolpec »Deskriptorji« označuje število identifikatorjev objektov (deskriptorjev), ki jih uporabljajo trenutno izvajajoči se procesi. Stolpec Threads prikazuje število podprocesov, ki se izvajajo znotraj večjih procesov. Številka v stolpcu »Procesi« seveda označuje skupno število zagnanih procesov, ki jih lahko vidimo na zavihku »Procesi«.

Stolpec »Up Time« prikazuje, koliko časa je preteklo od zadnjega zagona računalnika. Stolpec »Commit« vsebuje informacije o ostranjevalni datoteki. Prva številka označuje skupno količino fizičnega in navideznega pomnilnika, ki je trenutno v uporabi, druga številka pa označuje skupno količino pomnilnika za določen računalnik.

Še podrobnejše informacije lahko dobite s klikom na gumb »Resource Monitor« in izbiro zavihka »Memory« (slika 3.9).

riž. 3.9. Zavihek Memory okna Windows 7 Resource Monitor

Na zavihku »Pomnilnik« je tabela »Procesi«, v kateri so navedeni vsi tekoči procesi, informacije o uporabljenem pomnilniku za vsak proces pa so razdeljene v več kategorij (slika 3.10).

riž. 3.10. Tabela procesov

V kolumni " Slika" označuje ime izvršljive datoteke procesa. Procese, ki jih izvajajo aplikacije, je zelo enostavno prepoznati - proces »Winword.exe« na primer očitno pripada urejevalniku besedil Word. Procesi z imenom "svchost.exe" predstavljajo različne storitve operacijskega sistema. Ime storitve je prikazano v oklepaju poleg imena procesa.

V kolumni " ID procesa» označuje številko procesa - edinstveno kombinacijo številk, ki vam omogoča identifikacijo tekočega procesa.

V stolpcu " Dokončano" označuje količino navideznega pomnilnika v kilobajtih, ki jo sistem rezervira za ta proces. To vključuje uporabljeni fizični pomnilnik in strani, shranjene v ostranjevalni datoteki.

V stolpcu " Delovni set" označuje količino fizičnega pomnilnika v kilobajtih, ki jo v določenem času uporablja proces. Delovni niz je sestavljen iz javnega in zasebnega pomnilnika.

V kolumni " Splošno" označuje količino fizičnega pomnilnika v kilobajtih, ki si ga ta proces deli z drugimi. Skupna raba enega segmenta pomnilnika ali izmenjalne strani za povezane procese lahko prihrani prostor v pomnilniku. To fizično shrani samo eno kopijo strani, ki se nato preslika v virtualni naslovni prostor drugih procesov, ki dostopajo do nje. Na primer, vsi začeti procesi sistemske knjižnice DLL-ji - Ntdll, Kernel32, Gdi32 in User32 - uporabljajo skupni pomnilnik.

V stolpcu " Zasebno" označuje količino fizičnega pomnilnika v kilobajtih, ki ga uporablja izključno ta proces. Ta vrednost vam omogoča, da določite, koliko pomnilnika potrebuje določena aplikacija za delovanje.

V stolpcu " Napake zmanjkanja pomnilnika strani/sek."Prikazano je povprečno število napak strani zmanjkalo pomnilnika na sekundo v zadnji minuti. Če poskuša proces uporabiti več fizičnega pomnilnika, kot je trenutno na voljo, sistem zapiše nekaj podatkov iz pomnilnika na disk – v stransko datoteko. Poznejši dostop do podatkov, shranjenih na disku, se imenuje napaka strani zmanjka pomnilnika.

Pri izvajanju aplikacij in delu z datotekami upravljalnik pomnilnika spremlja velikost delovnega niza vsakega procesa in beleži zahteve za dodatne pomnilniške vire. Ko se delovni niz procesa poveča, dispečer uskladi te zahteve s potrebami jedra in drugih procesov. Če je razpoložljivi naslovni prostor nezadosten, dispečer zmanjša velikost delovnega niza tako, da shrani podatke iz pomnilnika na disk.

Kasneje se pri branju teh podatkov z diska pojavi napaka strani zmanjka pomnilnika. To je povsem običajno, a če se napake pojavijo istočasno za različne procese, sistem potrebuje dodaten čas za branje podatkov z diska. Prepogoste napake strani brez pomnilnika posledično zmanjšajo zmogljivost sistema. To se kaže v nepričakovanih upočasnitvah vseh aplikacij, ki se nato tudi nepričakovano ustavijo. Upočasnitev je posledica aktivne prerazporeditve podatkov med fizičnim pomnilnikom in zamenjavo.

Zaključek je naslednji: če se napake izmanjkanja pomnilnika za določen proces pojavljajo prepogosto in redno, računalnik nima dovolj fizičnega pomnilnika.

Če želite bolj priročno spremljati procese, ki povzročajo pogoste napake zaradi pomanjkanja pomnilnika, jih lahko označite z zastavicami. V tem primeru se bodo izbrani procesi premaknili na vrh seznama, v grafu napak manjkajoče strani pa bodo predstavljeni z oranžno krivuljo.

Upoštevati je treba, da je dodeljevanje pomnilnika odvisno od številnih drugih dejavnikov in spremljanje napak strani brez pomnilnika ni najboljši ali edini način za prepoznavanje težav. Lahko pa služi kot dobro izhodišče za opazovanje.

Tabela Procesi ponuja podrobne informacije o dodelitvi pomnilnika med posameznimi procesi, tabela Fizični pomnilnik pa daje splošno sliko uporabe RAM-a. Njegova ključna komponenta je edinstven histogram, prikazan na sl. 3.11.


Slika 3.11. Histogram v tabeli "Fizični pomnilnik" vam omogoča pregled porazdelitve pomnilnika v sistemu Windows 7

Vsak del histograma je označen s svojo barvo in predstavlja določeno skupino pomnilniških strani. Med uporabo sistema upravljalnik pomnilnika premika podatke med temi skupinami v ozadju, pri čemer ohranja občutljivo ravnovesje med fizičnim in navideznim pomnilnikom, da zagotovi učinkovito delovanje vseh aplikacij. Oglejmo si podrobneje histogram.

Na levi je razdelek » Rezervirana oprema", označeno s sivo: to je pomnilnik, dodeljen potrebam povezane opreme, ki jo ta uporablja za interakcijo z operacijskim sistemom. Pomnilnik, rezerviran za strojno opremo, je zaklenjen in upravitelj pomnilnika do njega ne more dostopati. Običajno je količina pomnilnika, dodeljenega opremi, od 10 do 70 MB, vendar je ta številka odvisna od specifične konfiguracije sistema in v nekaterih primerih lahko doseže več sto megabajtov.

Komponente, ki vplivajo na količino rezerviranega pomnilnika, vključujejo:

Komponente matične plošče - kot je Advanced Programmable I/O Interrupt Controller (APIC);

Zvočne kartice in druge naprave, ki izvajajo pomnilniško preslikan vhod/izhod;

vodilo PCI Express (PCIe);

Video kartice;

Različni nabori čipov;

Flash pogoni.

razdelek " Rabljeno", označen z zeleno, predstavlja količino pomnilnika, ki ga uporabljajo sistem, gonilniki in tekoči procesi. Količina uporabljenega pomnilnika se izračuna kot vrednost " Skupaj» minus vsota indikatorjev « Spremenjeno», « Pričakovanje"in" prost" Po drugi strani pa vrednost " Skupaj"je indikator" Nameščeno"minus indikator" Rezervirana oprema».

Ko se proces zažene v sistemu Windows, je veliko strani, ki prikazujejo slike EXE in DLL, morda že v pomnilniku, ker jih uporabljajo drugi procesi. Zapisljive slikovne strani so označene kot "copy-on-write", tako da jih lahko delite, dokler jih ni treba spremeniti. Če operacijski sistem prepozna EXE, ki je že bil izveden, lahko posname vzorec povezave strani (z uporabo tehnologije, ki jo Microsoft imenuje Super-Fetch). Ta tehnologija poskuša vnaprej napolniti veliko potrebnih strani (čeprav proces na njih še ni prejel napak strani). To zmanjša zakasnitev zagona aplikacije (branje strani z diska se prekriva z izvajanjem inicializacijske kode slik). Ta tehnologija izboljša izhodno zmogljivost diska, ker lahko gonilniki diska lažje organizirajo operacije branja (za zmanjšanje zahtevanega časa iskanja). Ta postopek pred stranjenjem se uporablja tako med zagonom sistema kot tudi ob aplikacija v ozadju pride v ospredje, ko sistem zapusti stanje mirovanja.

Upravljalnik pomnilnika podpira vnaprejšnje ostranjevanje, vendar je implementirano kot ločena sistemska komponenta. Ostranjene strani niso vstavljene v tabelo strani procesa; namesto tega so vstavljene na seznam pripravljenosti, s katerega jih je mogoče hitro vstaviti v proces (brez dostopa do diska).

Nepreslikane strani so nekoliko drugačne - niso inicializirane z branjem iz datoteke. Namesto tega ob prvem dostopu do nepreslikane strani upravljalnik pomnilnika zagotovi novo fizično stran (zagotovi, da je njena vsebina iz varnostnih razlogov zapolnjena z ničlami). Pri naslednjih napakah strani bo nepreslikano stran morda treba poiskati v pomnilniku ali pa jo bo treba prebrati iz datoteke strani.

Ostranjevanje na zahtevo v upravljalniku pomnilnika nadzirajo napake strani. Vsaka napaka povzroči prekinitev jedra. Jedro nato zgradi od stroja neodvisen deskriptor (ki poroča, kaj se je zgodilo) in ga posreduje izvršnemu upravljalniku pomnilnika. Upravljalnik pomnilnika nato preveri veljavnost dostopa. Če neuspela stran sodi v dodeljeno regijo, poišče naslov na seznamu VAD in najde (ali ustvari) vnos v tabeli strani procesa. V primeru strani v skupni rabi upravljalnik pomnilnika uporabi prototipni vnos tabele strani (povezan z objektom segmenta), da zapolni nov vnos tabele strani procesa.

Format elementa tabele strani se razlikuje glede na arhitekturo procesorja. Za procesorje x86 in x64 so elementi prikazane strani prikazani na sl. 11.17. Če je element označen kot veljaven, potem njegovo vsebino interpretira strojna oprema (tako da se virtualni naslov lahko prevede v pravilno fizično stran). Tudi neupodobljene strani imajo svoje elemente, vendar so označeni kot neveljavni in Strojna oprema ignorira preostali element. Format programske opreme se nekoliko razlikuje od formata strojne opreme in ga določi upravitelj pomnilnika. Na primer, za neupodobljeno stran (ki jo je treba pred uporabo postaviti in ponastaviti) je to dejstvo zabeleženo v elementu tabele strani.


Dva pomembna bita vnosa tabele strani neposredno posodobi strojna oprema. To sta bit za dostop (A) in modificirani bit (D). Ti biti spremljajo uporabo dane preslikave strani za dostop do strani in ali je stran mogoče spremeniti s tem dostopom. To dejansko izboljša delovanje sistema, ker lahko upravljalnik pomnilnika uporabi bit za dostop za implementacijo ostranjenja z najredkeje uporabljenim (LRU). Načelo LRU je, da imajo strani, ki so bile najdlje neuporabljene, najmanjšo verjetnost, da bodo ponovno uporabljene v bližnji prihodnosti. Bit za dostop omogoča upravitelju pomnilnika, da ugotovi, ali je bila stran dostopana. Bit "modified" sporoči upravitelju pomnilnika, da je bila stran morda spremenjena (ali, kar je še pomembneje, ni bila spremenjena). Če stran ni bila spremenjena, odkar je bila prebrana z diska, upravitelju pomnilnika ni treba zapisati njene vsebine na disk (preden jo uporabi za kaj drugega).

Arhitekturi x86 in x64 uporabljata 64-bitni vnos tabele strani (glejte sliko 11.17).

Vsako napako strani lahko razvrstimo v eno od petih kategorij:

1. Stran ni popravljena.

2. Poskus dostopa do strani s kršitvijo dovoljenja.

3. Poskus spreminjanja strani za kopiranje ob pisanju.

1. Treba je povečati sklad.

2. Stran je popravljena, vendar danem času ni prikazano.

Prvi in ​​drugi primer sta programski napaki. Če program poskuša uporabiti naslov, ki nima veljavne preslikave, ali poskuša izvesti nezakonito operacijo (kot je poskus pisanja na stran samo za branje), se to imenuje kršitev dostopa in običajno povzroči prekinitev postopka . Kršitev dostopa je pogosto posledica neveljavnih vrednosti kazalca, vključno z dostopom do pomnilnika, ki je bil sproščen in ločen od procesa.

Tretji primer ima enake simptome kot drugi (poskus pisanja na stran samo za branje), vendar je obravnava drugačna. Ker je bila stran označena kot copy-on-write, upravitelj pomnilnika ne poroča o kršitvi dostopa. Namesto tega ustvari zasebno kopijo strani za trenutni proces in nato vrne nadzor niti, ki je poskušala pisati na stran. Nit ponovi operacijo pisanja, ki se bo zdaj zaključila brez napake strani.

Četrti primer se zgodi, ko nit potisne vrednost na svoj sklad in zadene stran, ki še ni bila dodeljena. Upravljalnik pomnilnika to prepozna kot poseben primer. Dokler je prostor na virtualnih straneh, rezerviran za sklad, bo upravljalnik pomnilnika zagotavljal nove strani, jih izničil in preslikal v proces. Ko se nit nadaljuje z izvajanjem, bo znova poskusila dostopati in tokrat bo uspešna.

In končno, peti primer je običajna napaka strani. Vendar pa ima več podmožnosti. Če je stran preslikana v datoteko, mora upravitelj pomnilnika pogledati njene podatkovne strukture (kot je prototipna tabela strani, povezana z objektom segmenta), da zagotovi, da v pomnilniku ni njene kopije. Če obstaja kopija (na primer v drugem procesu, na seznamu pripravljenosti ali na seznamu spremenjenih strani), jo bo preprosto dal v skupno rabo (morda jo bo moral označiti kot stran za kopiranje ob pisanju, da to storite, če spremembe domnevno niso v skupni rabi). Če kopije še ni, bo upravitelj pomnilnika dodelil prosto fizično stran in jo pripravil za kopiranje strani datoteke z diska nanj, razen če se v tem trenutku z diska prenaša druga stran (v tem primeru morate samo počakati, da prenos končan).

Če upravljalnik pomnilnika lahko obravnava napako strani tako, da poišče stran v pomnilniku (namesto da jo prebere z diska), se napaka imenuje mehka napaka. Če potrebujete kopijo z diska, je to resna napaka. Mehke napake so veliko cenejše in malo vplivajo na delovanje aplikacije (v primerjavi s trdimi napakami). Do mehkih napak lahko pride, ker je bila stran v skupni rabi že preslikana v drug proces ali preprosto potrebuje novo ničelno stran ali želeno stran je bil odstranjen iz delovnega niza procesa, vendar je pred ponovno uporabo znova poizveden. Do mehkih napak lahko pride tudi, ker so bile strani stisnjene na učinkovito povečanje velikost fizičnega pomnilnika. Za večino konfiguracij centralni procesor Pomnilnik in V/I v trenutnih sistemih sta učinkoviteje stisnjena, namesto da se zapravljata za drage V/I (v smislu zmogljivosti in moči), ki zahteva branje strani z diska.

Ko fizična stran ni več preslikana v tabelo strani katerega koli procesa, gre na enega od treh seznamov: prosto, spremenjeno ali rezervirano. Tiste strani, ki jih nikoli več ne potrebujete (kot so strani sklada zaključenega procesa), se takoj sprostijo. Tiste strani, pri katerih obstaja verjetnost, da se bo znova pojavila napaka strani, končajo bodisi na spremenjenem seznamu bodisi na seznamu pripravljenosti (odvisno od tega, ali je bil "spremenjen" bit nastavljen za kateri koli vnos v tabeli strani, ki je prikazal to stran, odkar je bila nazadnje prebrana z diska) . Strani s spremenjenega seznama bodo sčasoma zapisane na disk in nato premaknjene na rezervni seznam.

Upravljalnik pomnilnika lahko po potrebi dodeli strani (z uporabo seznama prostih ali rezervnih strani). Preden dodeli stran in jo kopira z diska, upravitelj pomnilnika vedno preveri sezname rezervnih in spremenjenih strani, da ugotovi, ali je stran že v pomnilniku. Shema ostranjenja naprej v sistemu Windows pretvori prihodnje trde napake v mehke (z branjem strani, ki bi morda bile potrebne, in jih uvrsti na seznam strani v pripravljenosti). Upravljalnik pomnilnika sam naredi majhno količino ostranjenja vnaprej - dostopa do skupin zaporednih strani (namesto posameznih strani). Dodatne strani so takoj uvrščene na seznam strani v pripravljenosti. To ni potratno, ker so režijski stroški upravljalnika pomnilnika veliko manjši od stroškov izvajanja V/I operacij. Branje celotnega niza strani je nekoliko dražje kot branje ene same strani.

Elementi tabele strani na sl. 11.17 se nanašajo na fizične (ne virtualne) številke strani. Za posodobitev vnosa tabele strani (in imenika strani) mora jedro uporabiti navidezne naslove. Windows preslika tabele strani in imenike strani za trenutni proces v virtualni naslovni prostor jedra z uporabo elementa samopreslikave v imeniku strani (slika 11.18). S preslikavo elementa imenika strani v imenik strani (samopreslikava) pridobimo navidezne naslove, ki jih lahko uporabimo za sklicevanje na elemente imenika strani (slika 11.18, a) in elemente tabele strani (slika 11.18, b). Samopregled zaseda 8 MB virtualnih naslovov jedra za vsak proces (na procesorjih x86). Za poenostavitev je na sliki prikazan element samopreslikave x86 za 32-bitne vnose PTE (vnosi tabele strani). Pravzaprav Windows uporablja 64-bitne zapise PTE, tako da lahko sistem izkoristi več kot 4 GB fizičnega pomnilnika. Pri 32-bitnih vnosih PTE element samopreslikave uporablja samo en vnos PDE (Page-Directory Entry) v imeniku strani in zato zaseda samo 4 MB naslovov namesto 8 MB.

Povezali ste novo napravo, vendar deluje počasi ali pa je stara naprava prenehala delovati ali pa ne deluje pravilno. Kaj storiti v teh primerih? Ponovno namestiti vse? To je težavno in ni vedno potrebno. Kako ugotoviti vzrok in kako ga odpraviti? Zelo preprosto. Dejstvo je, da v družini operacijskih sistemov Windows, in ne samo, obstaja določenoUpravitelj naprav, pravzaprav zelo potreben in koristen menedžer, če mu lahko tako rečemo. Tukaj je, pomagal nam bo ugotoviti, kaj je vzrok težave, moja goljufija pa nam bo pomagala odpraviti težavo. Torej, v zgoraj omenjenemUpravitelj naprav sledi napak pri delovanju naprav ostajajo v obliki kod. Če poznate kodo napake, ni težko ugotoviti vzroka težave. Za nepoznavalce so kode samo nerazumljive in nesmiselne številke. A poznavalcu lahko veliko povedo. Poskušal bom po svojih najboljših močeh osvetliti to temo.


Za ogled napak naprave moramo najprej vstopiti v sam upravitelj naprav. To se naredi takole. PrijavaNadzorna plošča iz menijaZačetek ( lahko,moj računalnik , desna tipka -Lastnosti Upravitelj naprav, ali pa to storite tako, da podate ukaz vizvršiti , ampak zakaj bi kompliciral). Če vstopimo skoziPanel upravljanje , potem je pot:Sistem – Oprema – Upravitelj naprav . Izberite z vstopom v meniupravitelja naprav , vrsto naprave, ki nas zanima (tipkovnica, tiskalnik, modem itd.), dvokliknite nanjo, posledično bomo videli naprave, vključene v to vrsto. Izberite napravo, ki jo potrebujemo, in jo dvokliknite. Poglejte stolpec na zavihku Vizitkasplošno, stanje naprave. Če pride do težave z delovanjem naprave, bo tukaj prikazana kot koda napake. Vidimo torej številke in številke. Kaj pomenijo? Spodaj dam celoten seznam napake, z Kratek opis napake in možne načine izločanje. Koda napake je označena z rdečo, njen opis z modro in rešitev s črno.

Koda 1Obstaja težava pri nastavitvi naprave, ne pravilne nastavitve ali voznik manjka. Kliknite gumb Posodobite gonilnik , da zaženete čarovnikaPosodobitev strojne opreme . Če gonilnika sploh ni, ga namestite.

Koda 3Gonilnik naprave je poškodovan ali pa ni dovolj RAM-a za pravilno delovanje naprave.1. Odstranimo poškodovan gonilnik in namestimo novega. To storite tako: Lastnosti - Gonilnik - Izbriši, nato sledite navodilom čarovnika. Znova zaženite. Ponovno odprtjeupravitelja naprav Akcija Posodobite konfiguracijo strojne opreme in sledite navodilom mojstra. 2. Če je težava pomanjkanje navideznega pomnilnika, zaprite delujoče aplikacije, da sprostite pomnilnik. Za preverjanje stanja pomnilnika moramo itiUpravitelj opravil , če želite to narediti, pritisnite bližnjico na tipkovniciCtrl+Shift+Esc.Nastavitve virtualnega pomnilnika si lahko ogledamo z desnim klikomMoj računalnik Lastnosti - Napredno - Zmogljivost - Nastavitve (Možnosti) . Lahko poskusite povečati izmenjalno datoteko (kako se to naredi, sem opisal v enem od prejšnjih člankov na blogu), vendar to še zdaleč ni radikalen ukrep. Morali boste povečati Oven. Kako se to naredi, je ločena tema, ki presega obseg te objave.

Koda 10V razdelku registra je parameter, ki ustreza napraviFailReasonString,vrednost tega parametra je prikazana v podatkih o napaki, to je, če parametra kot takega ni, se prikaže koda napake, z drugimi besedami, naprave ni mogoče zagnati. Posodobite gonilnik kot zgoraj. Ali namestite novejšega.

Koda 12Za to napravo ni potrebna dobava virov. Onemogočite druge delujoče naprave, vsaj eno, za to uporabite čarovnika za odpravljanje težav, ki bo, če sledite njegovim navodilom, onemogočil napravo v sporu. (Naj vas na kratko spomnim: Lastnosti – Splošno – Odpravljanje težav.)

Koda 14Za delovanje te naprave je potreben ponovni zagon računalnika.

Koda 16Nemogoče je določiti vire, ki so potrebni za delovanje naprave; naprava ni popolnoma konfigurirana. Napravi morate dodeliti dodatne vire. Toda to je mogoče storiti brez težav, če naprava pripadaVklopi in igraj.

Lastnosti – Viri. Če je na seznamu virov vir z znakom ?, ga izberite, da ga dodelite izbrani napravi. Če vira ni mogoče spremeniti, klikniteSpremenite nastavitve , če ta funkcija ni na voljo, počistite poljeSamodejna nastavitev

Koda 18Ponovno namestite gonilnik naprave. Poskušamo posodobiti gonilnik ali ga odstraniti in to storiti kot v primeru zkoda 3.

Koda 19V registru ni dovolj informacij o nastavitvah naprave ali pa so nastavitve poškodovane. TečiČarovnik za odpravljanje težav in sledite njegovim navodilom, če to ne pomaga, znova namestite napravo, kot je navedeno zgoraj. (šifra 3). Ali pa, če to ne pomaga, prenesiteZadnja znana dobra konfiguracija. Če to ne pomaga, potrebujete pomoč strokovnjaka, tako kot morate urediti sistemski register. Brez znanja in izkušenj sami ne morete narediti ničesar, to vam bo potrdil vsak sistemski skrbnik. Kdor je razgledan in sposoben, zna narediti sam, brez mene. In za neizkušeno osebo je bolje, da ne poskusite. Register je srce operacijskega sistema in samo izkušen strokovnjak ali pod njegovim nadzorom lahko izvaja operacije v njem. Nikakor nočem nikogar užaliti, a če niste delali s sistemskim registrom in če cenite svoj računalnik, vam svetujem, da pozabite na pot do tja. Ne pišem za profesionalce, oni tega ne potrebujejo, ampak za povprečnega uporabnika. Seveda lahko tam napišem, kako in kaj storiti, vendar bo to ročna razlaga in če boste zaradi najmanjše napake poškodovali svoj računalnik, bom kriv jaz. Tega sploh ne potrebujem, ti pa tudi ne.

Koda 21 Naprava se odstranjuje iz sistema, to pomeni, da operacijski sistem poskuša odstraniti napravo, vendar postopek še ni zaključen.


Ustavite se za nekaj sekund in pritisnite tipko


Koda 22 Naprava je onemogočena. Naprava mora biti vklopljena.Dejanje - Omogoči in sledite nadaljnjim navodilom.


Koda 24 Naprava manjka ali je nameščena nepravilno, gonilnik ne deluje pravilno, naprava je morda pripravljena za odstranitev. Odstranite napravo in jo znova namestite.


Koda 28 Brez voznika. Namestite gonilnik. Če želite to narediti, morate posodobiti gonilnik, sledite korakom v navodilih za kodo 1.


Koda 29Naprava onemogočena . Napravi morate omogočiti delovanje v nastavitveBIOSPreberite navodila za uporabo naprave.


Koda 31Sistem ni mogel naložiti gonilnikov za to napravo . Posodobite gonilnike, kot je opisano zgoraj.


Koda 32Gonilnik za to napravo je onemogočen v sistemskem registru . Odstranite in znova namestite gonilnik (opisano zgoraj)


Koda 33Operacijski sistem ne more določiti virov za to naprave . Nastavite napravo ali jo zamenjajte.


Koda 34Operacijski sistem ne more zaznati nastavitev naprave . Preglejte dokumentacijo, ki je priložena opremi, in ročno konfigurirajte konfiguracijo na zavihku Viri.


Koda 35Vdelana programska oprema računalnika nima potrebnih informacij za pravilno delovanje naprave . Treba je posodobitiBIOS.Za navodila, kako to storiti, se obrnite na svojega dobavitelja ali še bolje, uporabite storitve izkušenega tehnika.


Koda 36Naprava za delovanje potrebuje prekinitev.PCIin naprava je konfigurirana za prekinitevJE,ali pa obratno . Nastavitve je treba spremenitiBIOSse obrnite na izkušenega tehnika.


Koda 37Operacijski sistem ne prepozna gonilnika za to napravo . Znova namestite gonilnik (opisan zgoraj).


Koda 38OS ne more naložiti gonilnika za napravo, ker: prejšnja različica gonilnika ostane v pomnilniku . Znova morate zagnati računalnik. Zaženite čarovnika za odpravljanje težav, če se ne zažene (Lastnosti – Splošno – Odpravljanje težav) in sledite navodilom čarovnika. Nato sledi obvezen ponovni zagon.


Koda 39OS ne more naložiti gonilnika naprave. Voznik je poškodovan ali pa sploh ne obstaja . Znova namestite gonilnik, kot je opisano zgoraj.


Koda 40Ni dostopa do opreme, ker v sistemskem registru ni podatkov ali pa podatki vsebujejo napako . Ponovno namestite gonilnik.


Koda 41Naprava ni zaznana . Zaženite čarovnika za odpravljanje težav (opisano zgoraj), če to ne pomaga, posodobite konfiguracijo strojne opreme (glejte zgoraj) ali posodobite gonilnik. Če ne, namestite več nova različica vozniki.


Koda 42Sistem že ima tak gonilnik. To pomeni, da sta dva različne naprave z istim imenom, verjetno zaradi napake . Znova zaženite računalnik.


Koda 43Zaustavitev naprave zaradi težav z njenim delovanjem . Zaženite čarovnika za odpravljanje težav in sledite njegovim navodilom.


Koda 44Aplikacija ali storitev je zaustavila vašo napravo . Znova zaženite računalnik.


Koda 45Naprava ni povezana . Povežite svojo napravo.


Koda 46Ta napaka se pojavi, ko se operacijski sistem zaustavi. Ni vam treba storiti ničesar, naslednjič, ko zaženete OS, bo vse delovalo.


Koda 47 Naprava je bila pripravljena za varno odstranitev, vendar še ni bila odstranjena (na primer bliskovni pogon) . Odstranite napravo, nato se znova povežite in znova zaženite računalnik.


Koda 48Naprava oziroma njena programska oprema je blokirana . Posodobite gonilnik ali namestite novega.


Koda 49Naprave ni mogoče zagnati, ker ima velik panj sistemskega registra, ki presega sprejemljive parametre registra . Odstranite naprave, ki se ne uporabljajo, iz registra. To lahko storite: Upravitelj naprav - Pogled - Prikaži skrite naprave. Tukaj boste videli skrite naprave, ki niso povezane z vašim računalnikom. Izberite naprave, ki jih želite odstraniti, kliknite Lastnosti za napravo – Gonilnik – Odstrani, nato sledite navodilom čarovnika in na koncu ponovno zaženite računalnik.


Vodnik za odstranjevanje virusov iz računalnika z lastnimi rokami. Vse metode odstranjevanja virusov dejansko delujejo in so preizkušene v praksi, navodila po korakih z ilustracijami - preprosto in dostopno tudi šolarju + video vadnice + program ultraiso za ustvarjanje prenosnikov + uporabne povezave do orodij v boju proti virusom. Prenesi arhiv