Pamäť chýb stránok systému Windows 7. Chybové kódy Správcu zariadení. Monitorovanie využitia pamäte v systéme Windows

V mojom poslednom článku "" som hovoril o možnostiach Windows 7 Resource Monitor (Resource Monitor), vysvetlil som, ako ho používať na sledovanie rozdelenia systémových prostriedkov medzi procesy a služby, a tiež som spomenul, že ho možno použiť na riešenie konkrétnych problémy - napríklad analyzovať spotrebu pamäte. Presne o tom bude tento článok.

Trochu o pamäti

Pred začatím analýzy stručne porozprávam o tom, ako sa ovláda pamäť. Uľahčí vám to pochopenie toho, aké informácie sú prezentované v programe Windows 7 Resource Monitor.

Správca pamäte systému Windows 7 vytvára systém virtuálnej pamäte, ktorý pozostáva z dostupnej fyzickej pamäte RAM a stránkovacieho súboru na pevnom disku. To umožňuje operačnému systému prideľovať pamäťové bloky s pevnou dĺžkou (stránky) so sekvenčnými adresami vo fyzickej a virtuálnej pamäti.

Spustenie Windows 7 Resource Monitor

Ak chcete spustiť Windows 7 Resource Monitor, otvorte ponuku Štart, do vyhľadávacieho panela napíšte „Resmon.exe“ a kliknite na . V okne, ktoré sa otvorí, vyberte kartu „Pamäť“ (obr. A).

Obrázok A: Karta Memory v programe Windows 7 Resource Monitor poskytuje podrobné informácie o pridelení pamäte.

Tabuľka procesov

Karta Pamäť obsahuje tabuľku Procesy (obrázok B), ktorá obsahuje zoznam všetkých spustených procesov a rozdeľuje využitie pamäte do niekoľkých kategórií.


Obrázok B: Informácie o využití pamäte pre každý proces sú rozdelené do niekoľkých kategórií.

Stĺpec "Obrázok"

V stĺpci „Obrázok“ je uvedený názov spustiteľný súbor proces. Procesy, spúšťané aplikáciami, dá sa to veľmi ľahko zistiť – napríklad proces “notepad.exe” jednoznačne patrí do poznámkového bloku. Procesy s názvom "svchost.exe" predstavujú rôzne služby operačného systému. Názov služby sa zobrazí v zátvorkách vedľa názvu procesu.

Stĺpec ID procesu

V stĺpci ID procesu (PID) je uvedené číslo procesu – jedinečná kombinácia čísel, ktorá vám umožňuje identifikovať prebiehajúci proces.

stĺpec "Dokončené".

Stĺpec Commit označuje množstvo virtuálnej pamäte v kilobajtoch, ktorú systém vyhradil pre tento proces. To zahŕňa tak použitú fyzickú pamäť, ako aj stránky uložené v stránkovacom súbore.

Stĺpec "Pracovná sada"

Stĺpec Working Set označuje množstvo fyzickej pamäte v kilobajtoch, ktorú používa proces tento momentčas. Pracovný súbor pozostáva z verejnej a súkromnej pamäte.

stĺpec "Všeobecné"

Stĺpec Shareable označuje množstvo fyzickej pamäte v kilobajtoch, ktorú tento proces zdieľa s ostatnými. Zdieľanie jedného segmentu pamäte alebo swapovej stránky pre súvisiace procesy môže ušetriť miesto v pamäti. Toto fyzicky uloží iba jednu kópiu stránky, ktorá sa potom namapuje na virtuálny adresný priestor iných procesov, ktoré k nej pristupujú. Napríklad všetky procesy iniciované systémom DLL- Ntdll, Kernel32, Gdi32 a User32 - používajú zdieľanú pamäť.

Stĺpec "Súkromné"

Stĺpec Private označuje množstvo fyzickej pamäte v kilobajtoch, ktorú používa výlučne tento proces. Práve táto hodnota vám umožňuje určiť, koľko pamäte potrebuje konkrétna aplikácia na prevádzku.

Stĺpec „Chyby chýbajúcej stránky v pamäti/s.“

V stĺpci „Chyby stránky s nedostatkom pamäte/s“. (Hard Faults/s) zobrazuje priemerný počet chýb pri nedostatku pamäte za sekundu za poslednú minútu. Ak sa proces pokúsi použiť viac fyzickej pamäte, ako je momentálne k dispozícii, systém zapíše niektoré údaje z pamäte na disk – do stránkovacieho súboru. Následný prístup k údajom uloženým na disku sa nazýva chyba nedostatku pamäte stránky.

Čo znamenajú chyby s nedostatkom pamäte?

Teraz, keď máte predstavu o tom, aké informácie sa zhromažďujú v tabuľke Procesy, pozrime sa, ako ich môžete použiť na monitorovanie prideľovania pamäte. Pri spúšťaní aplikácií a práci so súbormi správca pamäte monitoruje veľkosť pracovnej sady každého procesu a zaznamenáva požiadavky na dodatočné pamäťové zdroje. Keď sa pracovná sada procesu zvyšuje, dispečer priraďuje tieto požiadavky potrebám jadra a iných procesov. Ak je dostupný adresný priestor nedostatočný, dispečer zmenší veľkosť pracovnej sady uložením údajov z pamäte na disk.

Neskôr sa pri čítaní týchto údajov z disku objaví chyba nedostatku pamäte. Je to celkom normálne, ale ak sa chyby vyskytnú súčasne pre rôzne procesy, systém potrebuje na načítanie údajov z disku dodatočný čas. Príliš časté chyby súvisiace s nedostatkom pamäte následne znižujú výkon systému. Pravdepodobne ste už zažili nečakané spomalenia vo všetkých aplikáciách, ktoré sa potom tiež náhle zastavili. Toto spomalenie bolo takmer určite spôsobené aktívnou redistribúciou údajov medzi fyzickou pamäťou a swapom.

Nasleduje záver: ak sa chyby súvisiace s nedostatkom pamäte pre určitý proces vyskytujú príliš často a pravidelne, počítač nemá dostatok fyzickej pamäte.

Na uľahčenie monitorovania procesov, ktoré spôsobujú časté chyby týkajúce sa nedostatku pamäte na stránke, ich môžete označiť príznakmi. V tomto prípade sa vybrané procesy presunú na začiatok zoznamu a v grafe chýbajúcich chýb na stránke budú znázornené oranžovou krivkou.

Stojí za zváženie, že prideľovanie pamäte závisí od mnohých ďalších faktorov a monitorovanie chýb s nedostatkom pamäte nie je ani najlepšie, ani jediná cesta identifikovanie problémov. Môže však slúžiť ako dobrý východiskový bod pre pozorovanie.

Tabuľka "Fyzická pamäť"

Tabuľka Processes poskytuje podrobné informácie o rozdelení pamäte medzi jednotlivé procesy, zatiaľ čo tabuľka Fyzická pamäť poskytuje celkový obraz využitie RAM. Jeho kľúčovou súčasťou je jedinečný histogram znázornený na obr. C.


Obrázok C: Histogram v tabuľke Fyzická pamäť poskytuje prehľad distribúcie pamäte v systéme Windows 7.

Každá časť histogramu je označená vlastnou farbou a predstavuje špecifickú skupinu pamäťových stránok. Keď sa systém používa, správca pamäte v pozadie presúva údaje medzi týmito skupinami, pričom zachováva jemnú rovnováhu medzi fyzickou a virtuálnou pamäťou, aby sa zabezpečilo efektívne fungovanie všetkých aplikácií. Pozrime sa bližšie na histogram.

Časť „Vyhradené vybavenie“

Vľavo je sekcia „Hardware Reserved“ označená sivou farbou: toto je pamäť pridelená pre potreby pripojeného hardvéru, ktorý používa na interakciu s operačným systémom. Pamäť vyhradená pre hardvér je uzamknutá a správca pamäte k nej nemá prístup.

Veľkosť pamäte pridelenej zariadeniu sa zvyčajne pohybuje od 10 do 70 MB, ale toto číslo závisí od konkrétnej konfigurácie systému a v niektorých prípadoch môže dosiahnuť niekoľko stoviek megabajtov. Medzi komponenty, ktoré ovplyvňujú množstvo rezervovanej pamäte, patria:

;
Komponenty základná doska- napríklad pokročilý programovateľný ovládač prerušenia vstupu/výstupu (APIC);
zvukové karty a ďalšie zariadenia, ktoré vykonávajú vstup/výstup mapovaný v pamäti;
zbernica PCI Express (PCIe);
grafické karty;
rôzne čipsety;
flash disky.

Niektorí používatelia sa sťažujú, že ich systémy vyhradzujú abnormálne množstvo pamäte pre ich hardvér. Nikdy som sa s takouto situáciou nestretol, a preto nemôžem ručiť za účinnosť navrhovaného riešenia, ale mnohí poznamenávajú, že aktualizáciou verzie systému BIOS sa problém môže vyriešiť.

Sekcia „Používa sa“.

Časť In Use, zobrazená zelenou farbou, predstavuje množstvo pamäte, ktorú používa systém, ovládače a bežiace procesy. Množstvo použitej pamäte sa vypočíta ako hodnota „Total“ mínus súčet indikátorov „Modified“, „Standby“ a „Free“. Hodnota „Total“ je zasa indikátorom „Installed RAM“ mínus indikátor „Reserved Equipment“.

Sekcia "Zmenené"

Časť „Upravené“ je zvýraznená oranžovou farbou, čo predstavuje pamäť, ktorá bola upravená, ale nepoužíva sa. V skutočnosti sa nepoužíva, ale v prípade potreby sa dá kedykoľvek použiť. Ak sa pamäť dlhší čas nepoužíva, údaje sa prenesú do súboru stránky a pamäť prejde do kategórie „Čaká“.

Sekcia "Čakanie"

Časť Čaká na spracovanie, zobrazená modrou farbou, predstavuje pamäťové stránky, ktoré boli odstránené z pracovných sád, ale sú s nimi stále spojené. Inými slovami, kategória „Waiting“ je vlastne cache. Pamäťovým stránkam v tejto kategórii je priradená priorita od 0 do 7 (maximálne). Maximálnu prioritu majú stránky spojené s procesmi s vysokou prioritou. Napríklad zdieľané procesy majú vysokú prioritu, takže stránky s nimi spojené majú najvyššiu prioritu v kategórii Čakajúce.

Ak proces vyžaduje údaje z čakajúcej stránky, správca pamäte okamžite vráti túto stránku do pracovnej sady. Všetky stránky v kategórii Čakajúce sú však dostupné na zaznamenávanie údajov z iných procesov. Keď proces potrebuje dodatočná pamäť a nie je dostatok voľnej pamäte, správca pamäte vyberie čakajúcu stránku s najnižšou prioritou, inicializuje ju a pridelí ju žiadajúcemu procesu.

Sekcia "Zadarmo"

Kategória Free, označená modrou farbou, predstavuje stránky pamäte, ktoré ešte neboli pridelené žiadnemu procesu alebo boli uvoľnené po ukončení procesu. Táto časť zobrazuje nevyužitú aj uvoľnenú pamäť, ale v skutočnosti nevyužitá pamäť patrí do inej kategórie – „Zero Pages“, ktorá sa tak nazýva, pretože tieto stránky sú inicializované na nulu a pripravené na použitie.

O probléme voľnej pamäte

Teraz, keď už máte základné znalosti o tom, ako funguje správca pamäte, poďme sa na chvíľu zaoberať bežnou mylnou predstavou o systéme správy pamäte v systéme Windows 7. Ako môžete vidieť na obrázku 1. C, Sekcia voľnej pamäte je jednou z najmenších v histograme. Je však chybou predpokladať na tomto základe, že Windows 7 spotrebúva príliš veľa pamäte a že systém nemôže správne fungovať, ak je tak málo voľnej pamäte.

V skutočnosti je to úplne naopak. V kontexte prístupu Windows 7 k správe pamäte je voľná pamäť zbytočná. Čím viac pamäte, tým lepšie. Maximalizáciou pamäte a neustálym presúvaním stránok z jednej kategórie do druhej pomocou prioritného systému zlepšuje systém Windows 7 efektivitu a zabraňuje tomu, aby údaje skončili v súbore stránky, čím sa bráni tomu, aby chyby mimo stránky spomalili výkon.

Monitorovanie pamäte

Chcete vidieť systém správy pamäte Windows 7 v akcii? Reštartujte počítač a ihneď po spustení otvorte Monitor prostriedkov systému Windows 7. Prejdite na kartu Pamäť a venujte pozornosť pomeru sekcií v histograme fyzickej pamäte.

Potom začnite spúšťať aplikácie. Počas behu sledujte zmenu histogramu. Keď spustíte čo najviac aplikácií, začnite ich jednu po druhej zatvárať a sledujte, ako sa mení pomer sekcií v histograme fyzickej pamäte.

Uskutočnením tohto extrémneho experimentu pochopíte, ako systém Windows 7 spravuje pamäť na vašom konkrétnom počítači, a budete môcť použiť nástroj Windows 7 Resource Monitor na monitorovanie prideľovania pamäte v bežných každodenných prevádzkových podmienkach.

Co si myslis?

Páči sa vám nápad používať Windows 7 Resource Monitor na monitorovanie prideľovania pamäte? Podeľte sa o svoj názor v komentároch!

Preemptívne/nepreemptívne algoritmy.

V prípade preemptívneho algoritmu operačný systém môže kedykoľvek prerušiť vykonávanie aktuálneho vlákna a prepnúť procesor na iné vlákno. V nepreemptívnych algoritmoch vlákno, ktoré je pridelené procesoru, rozhoduje iba o tom, kedy preniesť riadenie na operačný systém.

Algoritmy s kvantizáciou.

Každému vláknu je pridelený časový úsek, počas ktorého sa vlákno môže vykonávať na procesore. Keď kvantum vyprší, operačný systém prepne procesor na ďalšie vlákno vo fronte. Kvantové sa zvyčajne rovná celočíselnému počtu intervalov systémového časovača 1.

Algoritmy s prioritami.

Každému vláknu je priradená priorita – celé číslo označujúce stupeň oprávnenia vlákna. Operačný systém, ak je pripravených na spustenie niekoľko vlákien, vyberie vlákno s najvyššou prioritou.

Windows implementuje zmiešaný plánovací algoritmus - preventívny, založený na kvantizácii a prioritách.

  1. Typ multitaskingu pre aplikáciu DOS
  2. Servisné záruky
  3. Plánovanie procesov v popredí
  4. Účel stránkovacieho súboru
  5. Procesy P1, P2, P3 alokujú 100, 20, 80 MB pamäte. Systém má 128 MB RAM. Aká je veľkosť obsadenej pamäte v súbore stránky. Aká je veľkosť swap súboru.
  1. Čo je to „chyba stránky“?

Prerušenie 14 -Chyba stránky (#PF): Intel386…

Vygeneruje sa, ak je aktivovaný nástroj stránky (CR0.PG = 1) a pri preklade lineárnej adresy na fyzickú adresu nastane jedna z nasledujúcich situácií:

  • prvok tabuľky stránok alebo adresár stránok použitý pri preklade adries, má nulový bit prítomnosti, t.j. požadovaná tabuľka stránok alebo stránka nie je prítomná vo fyzickej pamäti;
  • postup nemá úroveň privilégií, postačujúce na prístup k vybranej stránke, alebo sa pokúsi zapísať na stránku, ktorá je chránená proti zápisu pre aktuálnu úroveň privilégií.

Obslužný program poruchy stránky získava informácie o jej príčine z dvoch zdrojov: kód chyby, ktorý sa vloží do zásobníka, a obsah registra CR2, ktorý obsahuje lineárnu adresu, ktorá spôsobila chybu. Kód poruchy stránky má špeciálny formát (obr. 3.7.).

Prerušený program po odstránení príčin, ktoré spôsobili poruchu stránky (napríklad načítanie stránky do fyzickej pamäte), môže pokračovať bez akýchkoľvek ďalších úprav.

Ak bola chyba stránky spôsobená porušením bezpečnostných privilégií stránky, nastaví sa prístupový bit (A) v príslušnej položke adresára stránky. Správanie prístupového bitu v zodpovedajúcom prvku tabuliek stránok v tomto prípade nie je regulované procesory Intel a môžu sa líšiť v rôznych modeloch.

  1. Vysoká intenzita chyby stránky hovoria:

Programové neistoty

nespoľahlivosť RAM

Iné: vysvetlite

Stĺpec „Chyby chýbajúcej stránky v pamäti/s.“

V stĺpci „Chyby stránky s nedostatkom pamäte/s“. (Hard Faults/s) zobrazuje priemerný počet chýb pri nedostatku pamäte za sekundu za poslednú minútu. Ak sa proces pokúsi použiť viac fyzickej pamäte, ako je momentálne k dispozícii, systém zapíše niektoré údaje z pamäte na disk – do stránkovacieho súboru. Následný prístup k údajom uloženým na disku sa nazýva chyba nedostatku pamäte stránky.

Čo znamenajú chyby s nedostatkom pamäte?

Teraz, keď máte predstavu o tom, aké informácie sa zhromažďujú v tabuľke Procesy, pozrime sa, ako ich môžete použiť na monitorovanie prideľovania pamäte. Pri spúšťaní aplikácií a práci so súbormi správca pamäte monitoruje veľkosť pracovnej sady každého procesu a zaznamenáva požiadavky na dodatočné pamäťové zdroje. Keď sa pracovná sada procesu zvyšuje, dispečer priraďuje tieto požiadavky potrebám jadra a iných procesov. Ak je dostupný adresný priestor nedostatočný, dispečer zmenší veľkosť pracovnej sady uložením údajov z pamäte na disk.

Neskôr sa pri čítaní týchto údajov z disku objaví chyba nedostatku pamäte. Je to celkom normálne, ale ak sa chyby vyskytnú súčasne pre rôzne procesy, systém potrebuje na načítanie údajov z disku dodatočný čas. Príliš časté chyby pri nedostatku pamäte na stránke znižujú výkon systému. Pravdepodobne ste už zažili nečakané spomalenia vo všetkých aplikáciách, ktoré sa potom tiež náhle zastavili. Toto spomalenie bolo takmer určite spôsobené aktívnou redistribúciou údajov medzi fyzickou pamäťou a swapom.

Nasleduje záver: ak sa chyby s nedostatkom pamäte pre konkrétny proces vyskytujú príliš často a pravidelne, Počítač nemá dostatok fyzickej pamäte.

Na uľahčenie monitorovania procesov, ktoré spôsobujú časté chyby týkajúce sa nedostatku pamäte na stránke, ich môžete označiť príznakmi. V tomto prípade sa vybrané procesy presunú na začiatok zoznamu a v grafe chýbajúcich chýb na stránke budú znázornené oranžovou krivkou.

Stojí za to mať na pamäti, že prideľovanie pamäte závisí od množstva ďalších faktorov a monitorovanie chýb pri nedostatku pamäte nie je najlepším ani jediným spôsobom, ako identifikovať problémy. Môže však slúžiť ako dobrý východiskový bod pre pozorovanie.

  1. Ako sa určuje priorita vlákna v systéme Windows?

Priority

Operačný systém Windows implementuje preemptívne plánovanie priority, keď je každému vláknu priradená určitá číselná hodnota - priorita, podľa ktorej je mu pridelený procesor. Vlákna s rovnakými prioritami sú naplánované podľa algoritmu Round Robin (kolotoč). Dôležitou výhodou systému je schopnosť predchádzať vláknam bežiacim v režime jadra – výkonný systémový kód je úplne reentrantný. Iba vlákna, ktoré majú spinlock, nie sú preemptované (pozri "Synchronizácia vlákien"). Preto sa spinlocky používajú s veľkou opatrnosťou a sú nastavené na minimálny čas.

Systém poskytuje 32 úrovní priority. Šestnásť hodnôt priority (16-31) zodpovedá skupine priorít v reálnom čase, pätnásť hodnôt (1-15) je pre normálne vlákna a hodnota 0 je vyhradená pre vlákno na nulovanie systémovej stránky (pozri obrázok 6.2 ).

Ryža. 6.2. Priority vlákien

Aby si používateľ nemusel pamätať číselné hodnoty priority a vedieť upravovať plánovač, ktorý vývojári zaviedli do systému prioritná abstrakcia. Napríklad triedu priority pre všetky vlákna konkrétneho procesu možno nastaviť pomocou sady konštantných parametrov funkcie SetPriorityClass, ktorá môže mať nasledujúce hodnoty:

  • v reálnom čase (REALTIME_PRIORITY_CLASS) - 24
  • vysoká (HIGH_PRIORITY_CLASS) - 13
  • nad normálom (ABOVE_NORMAL_PRIORITY_CLASS) 10
  • normálne (NORMAL_PRIORITY_CLASS) - 8
  • pod normálom (BELOW_NORMAL_PRIORITY_CLASS) - 6
  • a nečinný (IDLE_PRIORITY_CLASS) 4

Relatívna priorita vlákna je nastavená podobnými parametrami funkcie SetThreadPriority:

Sada šiestich tried priority procesu a siedmich tried priority vlákna tvorí 42 možných kombinácií a umožňuje nám vytvoriť takzvanú základnú prioritu vlákna.

Predvolená základná priorita procesu a primárneho vlákna je hodnota v strede rozsahov priorít procesu ( 24, 13, 10, 8, 6 alebo 4). Zmena priority procesu znamená zmenu priorít všetkých jeho vlákien, pričom ich relatívne priority zostávajú nezmenené.

Priority 16 až 31 nie sú v skutočnosti prioritami v reálnom čase, pretože podpora systému Windows v reálnom čase neposkytuje žiadne záruky na časovanie vlákien. Sú to jednoducho vyššie priority, ktoré sú vyhradené pre systémové vlákna a tie vlákna, ktoré majú takúto prioritu od užívateľa s administrátorskými právami. Prítomnosť priorít v reálnom čase, ako aj preemptovateľnosť kódu jadra, lokalizácia pamäťových stránok (pozri „Prevádzka správcu pamäte“) a množstvo pridané vlastnosti- to všetko vám umožňuje vykonávať to v prostredí OS Windows aplikácie soft real time, napríklad multimédiá. Systémové vlákno s nulovou prioritou je zaneprázdnené čistením stránok pamäte. Bežné používateľské vlákna môžu mať priority od 1 do 15.


Súvisiace informácie.


Pridelenie pamäte vo Windows 9x a Windows NT. Monitor prostriedkov systému Windows 7. Preskúmajte položky a karty súvisiace s pamäťou. Používanie nástroja Windows 7 Resource Monitor na monitorovanie prideľovania pamäte. Zväčšenie veľkosti stránkovacieho súboru (virtuálnej pamäte). Kontrola pamäte pomocou systému Windows.

3.1. Pridelenie pamäte v systéme Windows 9x

Windows 9x OS je 32-bitový viacvláknový operačný systém s preemptívnym multitaskingom a grafickým užívateľským rozhraním. Na bootovanie využívajú MS-DOS 7.0, ktorý poskytuje dva režimy činnosti procesora – reálny (BootGUI=0 je zapísaný v súbore MSDOS.SYS) a chránený (BootGUI=1). Chránený režim je nainštalovaný tesne pred zavedením systému Windows 9x, čo spôsobí, že procesor začne spravovať pamäť pomocou mechanizmu stránkovania virtuálne adresy do fyzických. Oblasť virtuálneho adresného priestoru pozostáva zo 4 kilobajtových stránok, ktoré sú umiestnené v RAM alebo na disku.

Nízke adresy virtuálneho adresného priestoru sú využívané spoločne všetkými procesmi, aby sa zabezpečila kompatibilita s ovládačmi zariadení v reálnom čase, rezidentnými programami Windows atď. To je na jednej strane pohodlné, ale na druhej strane znižuje spoľahlivosť (jedna z hlavných vlastností OS), pretože každý proces môže poškodiť komponenty umiestnené na týchto adresách.

Každý 32-bitový aplikačný program Windows beží vo vlastnom adresnom priestore, je však možný prístup k potrebným adresám, t.j. organizácia virtuálnych adries nevyužíva celú hardvérovú ochranu zabudovanú v mikroprocesore. 16-bitové programy zdieľajú spoločný adresný priestor a sú tiež navzájom zraniteľné. Model pamäte Windows 9x je znázornený na obr. 3.1.

Ryža. 3.1. distribúcie OP v systéme Windows 9x

Spodných 64 KB OP nie je prístupných pre 32-bitové programy, ale 16-bitové programy sem môžu zapisovať svoje dáta. Adresy menšie ako 4 MB sú mapované do adresného priestoru každého aplikačného programu a zdieľajú ich všetky procesy. Vďaka tomu je táto oblasť náchylná na náhodné písanie.

Minimálne potrebné množstvo pamäte pre fungovanie Windows 9x sú 4 MB, no s takýmto množstvom pamäte je prakticky nemožné pracovať. Stránkový súbor , pomocou ktorého je implementovaný mechanizmus virtuálnej pamäte, sa nachádza v adresári Windows a má variabilnú veľkosť, ktorú v prípade potreby mení samotný systém. Jeho rozmery je možné nastaviť pomocou systémových nástrojov (Ovládací panel → Systém → Výkon → Systém súborov) alebo špecifikovať v časti súboru SYSTEM.INI - riadky označujúce jednotku a názov súboru:

Pagingfive=c:\PageFile.sys

MinPagingFileSize=65536 (64 MB)

MaxPagingFileSize=262144 (256 MB)

Prvý a druhý riadok definuje názov súboru a jeho umiestnenie a posledné dva - počiatočnú a maximálnu veľkosť súboru stránky v KB.

Minimálnu veľkosť stránkovacieho súboru je možné získať spustením SysMon (System Monitor) a výberom veľkosti stránkovacieho súboru a množstva voľnej pamäte ako požadovaných parametrov na odhadnutie požiadaviek na pamäť najčastejšie používaných aplikácií.

3.2. Pridelenie pamäte v systéme Windows NT

Rozdiely medzi distribučnou schémou a systémom Windows 9x sú nasledovné:

1) vážnejšie používanie hardvérovej ochrany pamäte poskytovanej v mikroprocesore;

2) všetky moduly systémového softvéru sú umiestnené vo svojich vlastných virtuálnych adresných priestoroch a aplikačné programy k nim nemajú prístup.

Rozloženie adresného priestoru vo Windows NT je znázornené na obr. 3.2.

Ryža. 3.2. distribúcie OP vo Windows NT

Aplikačným programom je pridelených 2 GB lokálneho (vlastného) lineárneho (neštruktúrovaného) adresného priestoru (prvých 64 KB nie je dostupných). Sú od seba izolované a môžu medzi sebou komunikovať len cez schránku, alebo cez mechanizmy DDE (Dynamic Data Exchange) a OLE (Object Linking and Embedding).

Horná časť 2 GB oblasti obsahuje kód pre systémové knižnice DLL (dynamicky prepojené knižnice), ktoré fungujú ako serverové procesy. Kontrolujú hodnoty parametrov dotazu, vykonávajú požadovanú funkciu a posielajú výsledky späť do adresného priestoru volajúceho programu.

V rozsahu adries 2-4 GB sa nachádzajú systémové (nízkoúrovňové) komponenty Windows (t.j. najvyšší stupeň ochrany pred neoprávneným prístupom: jadro, plánovač vlákien, správca pamäte).

Pre 16-bitové aplikácie Windows sú relácie WOW (Windows On Windows) implementované v preemptívnom multitaskingovom režime, jednotlivo v ich vlastných adresných priestoroch alebo spoločne v zdieľanom adresnom priestore.

Pri spustení aplikácie sa vytvorí proces s vlastnou informačnou štruktúrou, v rámci ktorého sa spustí úloha. Môže vykonávať iné úlohy. V dôsledku toho je organizovaný multitaskingový režim prevádzky.

Správa pamäte (pridelenie, rezervácia, uvoľnenie, stránkovanie) je vykonávaná správcom virtuálnej pamäte VMM (Virtual Memory Manager). Každá virtuálna stránka sa prenesie na fyzickú stránku – rámec stránky, na začiatku vyplnený nulami (to je hlavná požiadavka štandardu bezpečnostného systému úrovne C2, ktorý určuje nemožnosť využitia ich predchádzajúceho obsahu inými procesmi). Priestor na výmenu stránok je vyhradený v súbore stránok Pagefile.sys, čo je rezervovaný blok miesta na disku.

Všetky Pamäť systému Windows NT sa delí na rezervované(pre dynamické použitie procesmi pri vykonávaní úloh), oddaný(pre ktoré je nahrávanie vyhradené v Pagefile.sys) a prístupný(zvyšok voľnej pamäte).

      Virtuálna pamäť v systéme Windows

Najčastejším dôvodom spomalenia systému je Ovládanie Windows- vyplnenie fyzickej pamäte. Súčasne systém Windows začína takzvané „stránkovanie“ - presúvanie blokov kódu a programových údajov (každý takýto blok sa nazýva stránka) z fyzickej pamäte na pevný disk. Občasný prístup k stránkovaciemu súboru je normálny a neznižuje výkon systému, ale časté požiadavky na údaje zo súboru na disku môžu výrazne znížiť celkovú rýchlosť systému. Tento problém je badateľný najmä pri prepínaní medzi viacerými programami náročnými na pamäť na počítači, ktorý neobsahuje dostatok fyzickej pamäte. Výsledkom je, že disk je takmer neustále používaný, pretože systém sa z neho snaží „pumpovať“ dáta do pamäte a späť.

Ak celková veľkosť pridelenej pamäte prekročí celkové množstvo fyzickej pamäte, systém Windows musí „pumpovať“ stránky medzi rýchlou pamäťou RAM a oveľa pomalšou virtuálnou pamäťou v súbore stránky, čo spôsobí spomalenie systému.

Prebieha Inštalácie systému Windows Súbor stránky XP sa automaticky vytvorí v koreňovom priečinku na rovnakom disku, kde sú umiestnené systémové súbory súbory systému Windows. Veľkosť stránkovacieho súboru je určená na základe množstva fyzickej pamäte v systéme. Predvolené minimálna veľkosť Súbor stránky je 1,5-krát väčší ako množstvo fyzickej pamäte a maximálna veľkosť je 3-krát väčšia. Odkladací súbor je možné vidieť v okne Prieskumník, ak povolíte režim zobrazovania skrytých a systémových súborov (obr. 3.3).

Ryža. 3.3. Povolenie zobrazenia skrytých a systémových súborov

Zvyčajne operačný systém Windows sám nastaví optimálne množstvo virtuálnej pamäte a to je dostatočné pre väčšinu úloh, ale ak počítač spúšťa aplikácie, ktoré vyžadujú veľa pamäte, množstvo virtuálnej pamäte je možné zmeniť.

Ak to chcete urobiť, musíte vykonať nasledujúcu postupnosť akcií:

1. Prihláste sa do systému pomocou účtu zo skupiny Administrators a otvorte okno „Ovládací panel – Systém“.

2. Na karte „Rozšírené“ kliknite v časti „Výkon“ na tlačidlo „Možnosti“ (obr. 3.4).

3. V dialógovom okne Možnosti výkonu vyberte kartu Rozšírené a kliknite na tlačidlo Zmeniť (obrázok 3.5), čím sa zobrazí dialógové okno Virtuálna pamäť, ktoré je znázornené na obrázku 3.5. 3.6 pre Windows XP a na obr. 3.7 pre Windows 7.

Aktuálne nastavenia stránkovacieho súboru sa prejavia v poli „Celková veľkosť stránkovacieho súboru na všetkých jednotkách“.

4. Vyberte ľubovoľnú jednotku zo zoznamu v hornej časti dialógového okna na konfiguráciu nastavení pre túto jednotku.

Môžete zmeniť nasledujúce nastavenia:

- Špeciálna veľkosť. Zadajte hodnotu do poľa Pôvodná veľkosť nastaviť počiatočnú veľkosť súboru pagefile.sys na určenom disku (v megabajtoch). V teréne Maximálna veľkosť do poľa zadajte číslo, ktoré nie je menšie ako hodnota Pôvodná veľkosť, ale nepresahuje 4096 MB (4 GB).

- Veľkosť podľa výberu systému. Túto možnosť vyberte, ak chcete povoliť dynamickú správu veľkosti stránkovacieho súboru tohto disku. Túto možnosť vyberte, ak nechcete zmeniť predvolené nastavenia, ktoré systém Windows ponúka.

- Žiadny výmenný súbor. Použite pre všetky jednotky, kde nepotrebujete stránkovací súbor. Uistite sa, že aspoň na jednom disku je odkladací súbor.

5. Po vykonaní zmien kliknite Set zaznamenať zmeny.

6. Opakujte kroky 4 a 5 pre ostatné jednotky (ak je to potrebné). Po dokončení zatvorte dialógové okno kliknutím na tlačidlo OK.

Ryža. 3.4. Tlačidlom „Možnosti“ prejdite na zobrazenie a/alebo

zmena parametrov virtuálnej pamäte

Ryža. 3.5. Tlačidlom „Zmeniť“ prejdite na zmenu nastavení virtuálnej pamäte v systéme Windows XP (vľavo) a vo Windowse 7

Ryža. 3.6. Okno na zobrazenie a nastavenie veľkosti virtuálnej pamäte

Ryža. 3.7. Okno na zobrazenie a nastavenie veľkosti virtuálnej pamäte v systéme Windows 7

Ak má váš počítač viacero fyzických diskov, najlepšie je umiestniť stránkovací súbor najrýchlejší, a je lepšie, ak systémové súbory Windows bude na inom disku. Ešte lepšie je rozdeliť stránkovací súbor na niekoľko fyzické diskov, pretože radič disku môže paralelne spracovávať viaceré požiadavky na zápis a čítanie.

Nepokúšajte sa umiestniť stránkovací súbor na viacero logických jednotiek jedného fyzického disku!!!

Ak má systém jeden pevný disk rozdelený na oddiely C, D a E a stránkovací súbor je rozdelený na viacero oddielov, systém sa môže dokonca spomaliť, pretože v tejto konfigurácii musia magnetické hlavy pevného disku čítať údaje z niekoľko oblastí, a nie z jednej do druhej. jednej oblasti disku.

Ak znížite minimálnu alebo maximálnu veľkosť stránkovacieho súboru a vytvoríte na disku nový stránkovací súbor, musíte reštartovať systém, aby sa zmeny prejavili. Zväčšenie veľkosti stránkovacieho súboru zvyčajne nevyžaduje reštartovanie počítača.

Ak máte veľa fyzickej pamäte, možno budete v pokušení zakázať súbor stránky úplne. Nerob to! !!

Windows XP bol navrhnutý tak, aby používal stránkovací súbor na vykonávanie niektorých úloh jadra, takže niektoré programy tretích strán môžu hlásiť nedostatok pamäte pri pokuse o úplné vypnutie virtuálnej pamäte.

Windows nepoužíva stránkovací súbor, kým to nie je potrebné, takže zakázanie virtuálnej pamäte nezlepší výkon!!!

Systém Windows môže dynamicky zväčšiť veľkosť stránkovacieho súboru podľa potreby. Táto funkcia funguje len vtedy, keď vyberiete " Systémom voliteľná veľkosť", ako aj pri nastavení maximálnej veľkosti väčšej, než je aktuálna veľkosť stránkovacieho súboru.

Na základe skúseností s predchádzajúcimi verziami systému Windows sa niektorí používatelia pokúšajú vytvoriť stránkovací súbor pevnej veľkosti s rovnakým počiatočným a maximálne rozmery. Teoreticky by to malo zlepšiť výkon, pretože to eliminuje možnosť fragmentácie stránkovacieho súboru. Stránkovací subsystém je však navrhnutý tak, že v praxi súbor zaberá len veľké bloky miesta na disku, čím je fragmentácia minimálna. Môžete si všimnúť mierny pokles výkonu, keď systém Windows zväčší veľkosť stránkovacieho súboru, ide však o jednorazovú operáciu a nemá žiadny vplyv na priemerný výkon.

      Monitorovanie využitia pamäte v systéme Windows

Najjednoduchší spôsob, ako zistiť, koľko pamäte RAM sa v danom čase používa, je otvoriť Správcu úloh kliknutím na ++ a prejsť na kartu „Výkon“ (obr. 3.8). Podrobný popis informácií na karte „Výkon“ pre Windows XP je uvedený v tabuľke. 3.1.

Tabuľka 3.1. Dešifrovanie údajov správcu úloh

Karta „Výkon“ pre Windows7 má v porovnaní s príslušnou kartou Správca významné inovácie Úlohy systému Windows XP.

Číslo v stĺpci „Total“ v časti „Physical Memory“ označuje celkové množstvo pamäte RAM pre tento systém. Stĺpec Cached zobrazuje množstvo fyzickej pamäte, ktorú nedávno použili systémové prostriedky. Zostáva vo vyrovnávacej pamäti pre prípad, že by ho systém opäť potreboval, ale je dostupný pre iné procesy. Nový stĺpec „Available“ označuje množstvo momentálne nevyužitej fyzickej pamäte a stĺpec „Free“ označuje množstvo pamäte, ktorú využíva vyrovnávacia pamäť, ale neobsahuje užitočné informácie.

Časť „Pamäť jadra“ obsahuje dva stĺpce – „Stránkované“ a „Nestránkované“. Spoločne označujú, koľko pamäte jadro používa. Stránkovaná je virtuálna pamäť a nestránkovaná je fyzická pamäť.

V časti „Systém“ sa objavili stĺpce pre „Rukoväte“ a „Vlákna“, ktoré sú spojené so základnými komponentmi procesov. Stĺpec „Deskriptory“ označuje počet identifikátorov objektov (deskriptorov), ktoré používajú práve bežiace procesy. Stĺpec Vlákna zobrazuje počet podprocesov spustených v rámci väčších procesov. Číslo v stĺpci „Procesy“ samozrejme udáva celkový počet spustených procesov, ktorý je možné vidieť na karte „Procesy“.

Stĺpec „Up Time“ označuje, koľko času uplynulo od posledného spustenia počítača. Stĺpec „Potvrdiť“ obsahuje informácie o stránkovacom súbore. Prvé číslo označuje celkové množstvo aktuálne využívanej fyzickej a virtuálnej pamäte a druhé číslo v princípe označuje celkové množstvo pamäte pre daný počítač.

Ešte podrobnejšie informácie môžete získať kliknutím na tlačidlo „Monitor zdrojov“ a výberom karty „Pamäť“ (obr. 3.9).

Ryža. 3.9. Karta Pamäť v okne Monitor prostriedkov systému Windows 7

Na karte „Pamäť“ sa nachádza tabuľka „Procesy“, v ktorej sú uvedené všetky bežiace procesy a informácie o použitej pamäti pre každý proces sú rozdelené do niekoľkých kategórií (obr. 3.10).

Ryža. 3.10. Tabuľka procesov

V stĺpci" Obrázok" označuje názov spustiteľného súboru procesu. Procesy spustené aplikáciami sú veľmi ľahko rozpoznateľné - napríklad proces „Winword.exe“ jednoznačne patrí do textového editora Word. Procesy s názvom "svchost.exe" predstavujú rôzne služby operačného systému. Názov služby sa zobrazí v zátvorkách vedľa názvu procesu.

V stĺpci" ID procesu» označuje číslo procesu – jedinečná kombinácia čísel, ktorá umožňuje identifikovať prebiehajúci proces.

V stĺpci " Dokončené" označuje množstvo virtuálnej pamäte v kilobajtoch vyhradenej systémom pre tento proces. To zahŕňa tak použitú fyzickú pamäť, ako aj stránky uložené v stránkovacom súbore.

V stĺpci " Pracovná súprava“ označuje množstvo fyzickej pamäte v kilobajtoch, ktorú proces používa v danom čase. Pracovný súbor pozostáva z verejnej a súkromnej pamäte.

V stĺpci" generál“ označuje množstvo fyzickej pamäte v kilobajtoch, ktorú tento proces zdieľa s ostatnými. Zdieľanie jedného segmentu pamäte alebo swapovej stránky pre súvisiace procesy môže ušetriť miesto v pamäti. Toto fyzicky uloží iba jednu kópiu stránky, ktorá sa potom namapuje na virtuálny adresný priestor iných procesov, ktoré k nej pristupujú. Napríklad všetky spustené procesy systémové knižnice DLL - Ntdll, Kernel32, Gdi32 a User32 - používajú zdieľanú pamäť.

V stĺpci " Súkromné“ označuje množstvo fyzickej pamäte v kilobajtoch používanej výlučne týmto procesom. Práve táto hodnota vám umožňuje určiť, koľko pamäte potrebuje konkrétna aplikácia na prevádzku.

V stĺpci " Chyby stránky s nedostatkom pamäte/s."Uvádza sa priemerný počet chýb pri nedostatku pamäte za sekundu za poslednú minútu." Ak sa proces pokúsi použiť viac fyzickej pamäte, ako je momentálne k dispozícii, systém zapíše niektoré údaje z pamäte na disk – do stránkovacieho súboru. Následný prístup k údajom uloženým na disku sa nazýva chyba nedostatku pamäte stránky.

Pri spúšťaní aplikácií a práci so súbormi správca pamäte monitoruje veľkosť pracovnej sady každého procesu a zaznamenáva požiadavky na dodatočné pamäťové zdroje. Keď sa pracovná sada procesu zvyšuje, dispečer priraďuje tieto požiadavky potrebám jadra a iných procesov. Ak je dostupný adresný priestor nedostatočný, dispečer zmenší veľkosť pracovnej sady uložením údajov z pamäte na disk.

Neskôr sa pri čítaní týchto údajov z disku objaví chyba nedostatku pamäte. Je to celkom normálne, ale ak sa chyby vyskytnú súčasne pre rôzne procesy, systém potrebuje na načítanie údajov z disku dodatočný čas. Príliš časté chyby súvisiace s nedostatkom pamäte následne znižujú výkon systému. To sa prejavuje nečakaným spomalením všetkých aplikácií, ktoré sa následne aj nečakane zastavia. Spomalenie je spôsobené aktívnym prerozdeľovaním dát medzi fyzickou pamäťou a swapom.

Nasleduje záver: ak sa chyby súvisiace s nedostatkom pamäte pre určitý proces vyskytujú príliš často a pravidelne, počítač nemá dostatok fyzickej pamäte.

Na uľahčenie monitorovania procesov, ktoré spôsobujú časté chyby týkajúce sa nedostatku pamäte na stránke, ich môžete označiť príznakmi. V tomto prípade sa vybrané procesy presunú na začiatok zoznamu a v grafe chýbajúcich chýb na stránke budú znázornené oranžovou krivkou.

Stojí za to mať na pamäti, že prideľovanie pamäte závisí od množstva ďalších faktorov a monitorovanie chýb pri nedostatku pamäte nie je najlepším ani jediným spôsobom, ako identifikovať problémy. Môže však slúžiť ako dobrý východiskový bod pre pozorovanie.

Tabuľka Procesy poskytuje podrobné informácie o rozdelení pamäte medzi jednotlivé procesy a tabuľka Fyzická pamäť poskytuje celkový obraz o využití RAM. Jeho kľúčovou súčasťou je jedinečný histogram znázornený na obr. 3.11.


Obrázok 3.11. Histogram v tabuľke „Fyzická pamäť“ vám umožňuje získať prehľad o rozložení pamäte v systéme Windows 7

Každá časť histogramu je označená vlastnou farbou a predstavuje špecifickú skupinu pamäťových stránok. Keď sa systém používa, správca pamäte presúva údaje medzi týmito skupinami na pozadí, pričom zachováva jemnú rovnováhu medzi fyzickou a virtuálnou pamäťou, aby sa zabezpečilo efektívne fungovanie všetkých aplikácií. Pozrime sa bližšie na histogram.

Vľavo je sekcia „ Vyhradená výbava“, označené sivou farbou: toto je pamäť pridelená potrebám pripojeného zariadenia, ktorú používa na interakciu s operačným systémom. Pamäť vyhradená pre hardvér je uzamknutá a správca pamäte k nej nemá prístup. Veľkosť pamäte pridelenej zariadeniu sa zvyčajne pohybuje od 10 do 70 MB, ale toto číslo závisí od konkrétnej konfigurácie systému a v niektorých prípadoch môže dosiahnuť niekoľko stoviek megabajtov.

Medzi komponenty, ktoré ovplyvňujú množstvo rezervovanej pamäte, patria:

Komponenty základnej dosky – ako napríklad Advanced Programmable I/O Interrupt Controller (APIC);

Zvukové karty a iné zariadenia, ktoré vykonávajú vstup/výstup mapovaný v pamäti;

zbernica PCI Express (PCIe);

Video karty;

Rôzne čipsety;

Flash disky.

sekcia " Použité“, označené zelenou farbou, predstavuje množstvo pamäte, ktorú využíva systém, ovládače a spustené procesy. Množstvo použitej pamäte sa vypočíta ako hodnota " Celkom» mínus súčet ukazovateľov « Zmenené», « Očakávanie"A" zadarmo" Na druhej strane hodnota " Celkom"je indikátor" Nainštalované"mínus indikátor" Vyhradená výbava».

Keď sa proces spustí v systéme Windows, mnohé zo stránok, ktoré zobrazujú obrázky EXE a DLL, môžu byť už v pamäti, pretože ich používajú iné procesy. Zapisovateľné obrázkové stránky sú označené ako „copy-on-write“, aby ich bolo možné zdieľať, kým ich nie je potrebné upraviť. Ak operačný systém rozpozná EXE, ktorý už bol spustený, môže zaznamenať vzor odkazu na stránku (pomocou technológie, ktorú Microsoft nazýva Super-Fetch). Táto technológia sa snaží napumpovať veľa potrebných stránok vopred (aj keď na nich proces ešte nezaznamenal chyby stránok). To znižuje latenciu spustenia aplikácie (čítanie stránok z disku sa prekrýva s vykonávaním inicializačného kódu obrázkov). Táto technológia zlepšuje výstupný výkon disku, pretože ovládače disku môžu jednoduchšie organizovať operácie čítania (aby sa skrátil potrebný čas vyhľadávania). Tento proces predbežného stránkovania sa používa počas zavádzania systému aj vtedy, keď aplikácia na pozadí sa dostane do popredia, keď systém ukončí režim hibernácie.

Predvýberové stránkovanie je podporované správcom pamäte, ale je implementované ako samostatný systémový komponent. Stránkované stránky sa nevkladajú do tabuľky stránok procesu, ale vkladajú sa do pohotovostného zoznamu, z ktorého sa dajú rýchlo vložiť do procesu (bez prístupu na disk).

Nemapované stránky sú mierne odlišné – neinicializujú sa čítaním zo súboru. Namiesto toho pri prvom prístupe k nezmapovanej stránke správca pamäte poskytne novú fyzickú stránku (z bezpečnostných dôvodov sa uistí, že jej obsah je vyplnený nulami). Pri následných chybách stránky môže byť potrebné nájsť nezmapovanú stránku v pamäti alebo ju možno prečítať zo súboru stránky.

Stránkovanie na požiadanie v správcovi pamäte je riadené chybami stránok. Každá chyba spôsobí prerušenie jadra. Jadro potom vytvorí deskriptor nezávislý od počítača (ktorý hlási, čo sa stalo) a odovzdá ho výkonnému správcovi pamäte. Správca pamäte potom skontroluje platnosť prístupu. Ak zlyhaná stránka spadá do potvrdenej oblasti, vyhľadá adresu v zozname VAD a nájde (alebo vytvorí) položku tabuľky stránok procesu. V prípade zdieľanej stránky používa správca pamäte záznam tabuľky stránok prototypu (súvisiaci s objektom segmentu) na vyplnenie nového záznamu tabuľky stránok procesu.

Formát prvku tabuľky stránok sa líši v závislosti od architektúry procesora. Pre x86 a x64 procesory sú prvky zobrazenej stránky znázornené na obr. 11.17. Ak je prvok označený ako platný, potom jeho obsah interpretuje hardvér (takže virtuálna adresa môže byť preložená na správnu fyzickú stránku). Nevyrenderované stránky majú tiež svoje prvky, no sú označené ako neplatné, a Hardvér ignoruje zvyšok prvku. Softvérový formát sa mierne líši od hardvérového a určuje ho správca pamäte. Napríklad pre nevykreslenú stránku (ktorá musí byť umiestnená a resetovaná pred použitím) je táto skutočnosť zaznamenaná v prvku tabuľky stránok.


Dva dôležité bity záznamu tabuľky stránok sú aktualizované priamo hardvérom. Sú to prístupový bit (A) a modifikovaný bit (D). Tieto bity sledujú použitie daného mapovania stránky na prístup k stránke a či je možné stránku týmto prístupom upraviť. To v skutočnosti zlepšuje výkon systému, pretože správca pamäte môže použiť prístupový bit na implementáciu stránkovania LRU (Last-Recently Used). Princípom LRU je, že tie stránky, ktoré sa nepoužívajú najdlhšie, majú najnižšiu pravdepodobnosť opätovného použitia v blízkej budúcnosti. Prístupový bit umožňuje správcovi pamäte určiť, že stránka bola sprístupnená. "Upravený" bit hovorí správcovi pamäte, že stránka mohla byť upravená (alebo, čo je dôležitejšie, nebola upravená). Ak sa stránka od načítania z disku nezmenila, potom správca pamäte nemusí zapisovať jej obsah na disk (pred tým, ako ju použije na niečo iné).

Architektúra x86 aj x64 používa 64-bitový záznam tabuľky stránok (pozri obrázok 11.17).

Každú chybu stránky možno klasifikovať do jednej z piatich kategórií:

1. Stránka nie je pevná.

2. Pokus o prístup na stránku s porušením povolenia.

3. Pokus o úpravu stránky kopírovania pri zápise.

1. Je potrebné zvýšiť zásobník.

2. Stránka je opravená, ale daný čas nezobrazuje sa.

Prvý a druhý prípad sú chyby v programovaní. Ak sa program pokúsi použiť adresu, ktorá nemá platné mapovanie, alebo sa pokúsi vykonať nelegálnu operáciu (napríklad pokus o zápis na stránku určenú len na čítanie), nazýva sa to narušenie prístupu a zvyčajne spôsobí ukončenie procesu. . Porušenie prístupu je často výsledkom neplatných hodnôt ukazovateľov vrátane prístupu k pamäti, ktorá bola uvoľnená a odpojená od procesu.

Tretí prípad má rovnaké príznaky ako druhý (pokus o zápis na stránku len na čítanie), ale jeho spracovanie je iné. Pretože stránka bola označená ako copy-on-write, správca pamäte nehlási porušenie prístupu. Namiesto toho vytvorí súkromnú kópiu stránky pre aktuálny proces a potom vráti riadenie vláknu, ktoré sa pokúsilo zapísať na stránku. Vlákno zopakuje operáciu zápisu, ktorá sa teraz dokončí bez chyby stránky.

Štvrtý prípad nastane, keď vlákno vloží hodnotu do svojho zásobníka a narazí na stránku, ktorá ešte nebola pridelená. Správca pamäte to rozpozná ako špeciálny prípad. Pokiaľ je na virtuálnych stránkach vyhradený priestor pre zásobník, správca pamäte dodá nové stránky, vynuluje ich a namapuje ich na proces. Keď vlákno obnoví vykonávanie, pokúsi sa o prístup znova a tentoraz to bude úspešné.

A nakoniec, piaty prípad je normálna chyba stránky. Má však niekoľko čiastkových možností. Ak je stránka namapovaná na súbor, správca pamäte sa musí pozrieť na jej dátové štruktúry (ako napríklad tabuľku stránok prototypu priradenú k objektu segmentu), aby sa uistil, že v pamäti nie je žiadna jej kópia. Ak existuje kópia (napríklad v inom procese, v pohotovostnom zozname alebo v zozname upravených stránok), potom ju jednoducho urobí zdieľanou (možno ju bude musieť označiť ako stránku kopírovania pri zápise do urobte to, ak sa predpokladá, že zmeny nie sú zdieľané). Ak ešte neexistuje žiadna kópia, správca pamäte pridelí voľnú fyzickú stránku a pripraví ju na skopírovanie stránky súboru z disku na ňu, pokiaľ sa práve neprenáša ďalšia stránka z disku (v takom prípade stačí počkať, kým prevod je dokončený).

Ak správca pamäte dokáže spracovať chybu stránky umiestnením stránky v pamäti (namiesto jej čítania z disku), chyba sa nazýva mäkká chyba. Ak potrebujete kópiu z disku, je to ťažká chyba. Mäkké chyby sú oveľa lacnejšie a majú malý vplyv na výkon aplikácie (v porovnaní s ťažkými chybami). Mäkké chyby sa môžu vyskytnúť, pretože zdieľaná stránka už bola namapovaná na iný proces alebo jednoducho potrebuje novú vynulovanú stránku, resp. požadovanú stránku bola odstránená z pracovnej sady procesu, ale pred opätovným použitím sa znova spýta. Mäkké chyby sa môžu vyskytnúť aj preto, že stránky boli skomprimované do efektívne zvýšenie veľkosť fyzickej pamäte. Pre väčšinu konfigurácií centrálny procesor Pamäť a I/O v súčasných systémoch sú efektívnejšie komprimované, a nie plytvané drahými I/O (z hľadiska výkonu a výkonu), ktoré si vyžadujú čítanie stránky z disku.

Keď fyzická stránka už nie je namapovaná na tabuľku stránok žiadneho procesu, prejde do jedného z troch zoznamov: voľný, upravený alebo rezervovaný. Stránky, ktoré už nikdy nie sú potrebné (ako napríklad zásobníkové stránky ukončujúceho procesu), sa okamžite uvoľnia. Tie stránky, u ktorých je pravdepodobná opätovná chyba stránky, skončia buď v upravenom zozname alebo v pohotovostnom zozname (v závislosti od toho, či bol nastavený bit „upravený“ pre akúkoľvek položku tabuľky stránok, ktorá zobrazila danú stránku od jej posledného čítania z disku) . Stránky z upraveného zoznamu sa nakoniec zapíšu na disk a potom sa presunú do rezervného zoznamu.

Správca pamäte môže prideľovať stránky podľa potreby (pomocou zoznamu voľných alebo náhradných stránok). Pred pridelením stránky a jej skopírovaním z disku správca pamäte vždy skontroluje zoznamy náhradných a upravených stránok, aby zistil, či stránka už nie je v pamäti. Schéma dopredného stránkovania v systéme Windows konvertuje budúce ťažké chyby na mäkké chyby (prečítaním stránok, ktoré môžu byť potrebné, a ich umiestnením do zoznamu stránok v pohotovostnom režime). Samotný správca pamäte robí malé množstvo stránkovania dopredu - pristupuje k skupinám sekvenčných stránok (a nie k jednotlivým stránkam). Ďalšie stránky sa okamžite umiestnia do zoznamu stránok v pohotovostnom režime. Nie je to zbytočné, pretože réžia správcu pamäte je oveľa nižšia ako náklady na vykonávanie I/O operácií. Čítanie celého zhluku stránok je o niečo drahšie ako čítanie jednej stránky.

Prvky tabuľky stránok na obr. 11.17 odkazujú na fyzické (nie virtuálne) čísla strán. Na aktualizáciu položky tabuľky stránok (a adresára stránok) potrebuje jadro používať virtuálne adresy. Windows mapuje tabuľky stránok a adresáre stránok pre aktuálny proces do virtuálneho priestoru adries jadra pomocou prvku self-map v adresári stránok (obrázok 11.18). Mapovaním prvku adresára stránok do adresára stránok (self-map) získame virtuálne adresy, pomocou ktorých je možné odkazovať na prvky adresára stránok (obr. 11.18, a) a prvky tabuľky stránok (obr. 11.18, b). Vlastná mapa zaberá 8 MB virtuálnych adries jadra pre každý proces (na procesoroch x86). Pre jednoduchosť je na obrázku znázornený prvok vlastnej mapy x86 pre 32-bitové položky PTE (Page-Table Entries). Systém Windows v skutočnosti používa 64-bitové záznamy PTE, takže systém môže využívať viac ako 4 GB fyzickej pamäte. S 32-bitovými položkami PTE prvok vlastnej mapy používa iba jednu položku PDE (Page-Directory Entry) v adresári stránky, a preto zaberá iba 4 MB adries namiesto 8 MB.

Pripojili ste nové zariadenie, ale funguje pomaly, alebo staré zariadenie prestalo fungovať alebo nefunguje správne. Čo robiť v týchto prípadoch? Preinštalovať všetko? Je to nepríjemné a nie vždy je to potrebné. Ako zistiť, aký je dôvod a ako ho odstrániť? Veľmi jednoduché. Faktom je, že v rodine operačných systémov Windows, a nielen, je tu istéSprávca zariadení, v skutočnosti veľmi potrebný a užitočný manažér, ak ho tak môžete nazvať. Tu je, pomôže nám zistiť, čo je príčinou problému, a môj cheat sheet nám pomôže problém vyriešiť. Takže vo vyššie uvedenomSprávca zariadení stopy chýb v prevádzke zariadení zostávajú vo forme kódov. Keď poznáte kód chyby, nie je ťažké určiť príčinu problému. Pre nezasvätených sú kódy len nezrozumiteľné a nič nehovoriace čísla. Znalému používateľovi však môžu veľa povedať. Pokúsim sa v rámci svojich možností osvetliť túto tému.


Na zobrazenie chýb zariadenia musíme najskôr vstúpiť do samotného Správcu zariadení. Robí sa to takto. Prihlásiť saOvládací panel z menuZačať ( Môcť,môj počítač , pravé tlačidlo -Vlastnosti Správca zariadení, alebo to môžete urobiť zadaním príkazu vvykonať , ale načo všetko komplikovať). Ak vstúpime cezPanel zvládanie , potom cesta je:Systém - Zariadenie - Správca zariadení . Zvoľte vstupom do menusprávca zariadení , typ zariadenia, ktoré nás zaujíma (klávesnica, tlačiareň, modem atď.), dvakrát naň kliknite, v dôsledku toho sa nám zobrazia zariadenia zahrnuté v tomto type. Vyberte zariadenie, ktoré potrebujeme, a dvakrát naň kliknite. Pozrite si stĺpec na karte Informácievšeobecné, Stav zariadenia. Ak sa vyskytne problém s prevádzkou zariadenia, zobrazí sa tu ako kód chyby. Takže vidíme čísla a čísla. Čo si myslia? Nižšie dávam úplný zoznam chyby, s stručný popis chyby a možné spôsoby eliminácia. Kód chyby je zvýraznený červenou farbou, jej popis modrou a riešenie čiernou farbou.

Kód 1Vyskytol sa problém s nastavením zariadenia, nie správne nastavenia alebo chýba vodič. Kliknite na tlačidlo Aktualizujte ovládač , čím spustíte sprievodcuAktualizácia hardvéru . Ak neexistuje žiadny ovládač, nainštalujte ho.

Kód 3Ovládač zariadenia je poškodený alebo nie je dostatok pamäte RAM na správne fungovanie zariadenia.1. Odstránime poškodený ovládač a nainštalujeme nový. Ak to chcete urobiť: Vlastnosti - Ovládač - Odstrániť, potom postupujte podľa pokynov sprievodcu. Reštartovať. Otváranie znovasprávca zariadení Akcia Aktualizujte hardvérovú konfiguráciu a postupujte podľa pokynov majstra. 2. Ak je problémom nedostatok virtuálnej pamäte, zatvorte spustené aplikácie, aby ste uvoľnili pamäť. Ak chcete skontrolovať stav pamäte, musíme ísť doSprávca úloh , ak to chcete urobiť, stlačte klávesovú skratkuCtrl+Shift+Esc.Nastavenia virtuálnej pamäte môžeme zobraziť kliknutím pravým tlačidlom myšiMôj počítač Vlastnosti – Rozšírené – Výkon – Nastavenia (Možnosti) . Môžete skúsiť zväčšiť swap súbor (ako sa to robí som opísal v jednom z predchádzajúcich článkov na blogu), ale toto má ďaleko od radikálneho opatrenia. Budete musieť zvýšiť RAM. Ako sa to robí, je samostatná téma nad rámec tohto príspevku.

Kód 10V sekcii registra je parameter zodpovedajúci zariadeniuFailReasonString,hodnota tohto parametra sa zobrazí v chybových údajoch, to znamená, že ak neexistuje žiadny parameter ako taký, objaví sa chybový kód, inými slovami, zariadenie sa nedá spustiť. Aktualizujte ovládač podľa vyššie uvedeného. Alebo nainštalujte novší.

Kód 12Pre toto zariadenie nie sú potrebné žiadne zdroje. Zakážte ostatné pracovné zariadenia, aspoň jedno, na tento účel použite sprievodcu riešením problémov, ktorý, ak budete postupovať podľa jeho pokynov, zakáže konfliktné zariadenie. (Dovoľte mi stručne pripomenúť: Vlastnosti - Všeobecné - Riešenie problémov.)

Kód 14Na fungovanie tohto zariadenia sa vyžaduje reštart počítača.

Kód 16Nie je možné identifikovať prostriedky, ktoré sú potrebné na fungovanie zariadenia, zariadenie nie je úplne nakonfigurované. K zariadeniu musíte priradiť ďalšie zdroje. Ale to sa dá urobiť bez problémov, ak zariadenie patríPripoj a hraj.

Vlastnosti - Zdroje. Ak sa v zozname zdrojov nachádza zdroj so znakom ?, vyberte ho, aby ste ho priradili k vybranému zariadeniu. Ak sa zdroj nedá zmeniť, klikniteZmeniť nastavenia , ak táto funkcia nie je dostupná, zrušte začiarknutieAutomatické nastavenie

Kód 18Preinštalujte ovládač zariadenia. Pokúsime sa aktualizovať ovládač alebo ho odstrániť a urobiť to ako v príklade skód 3.

Kód 19V registri nie je dostatok informácií o nastaveniach zariadenia alebo sú nastavenia poškodené. BežaťSprievodca odstraňovaním problémov a postupujte podľa jeho pokynov, ak to nepomôže, preinštalujte zariadenie, ako je uvedené vyššie. (kód 3). Alebo ak to nepomôže, stiahnite siPosledná známa dobrá konfigurácia. Ak to nepomôže, potrebujete pomoc špecialistu, rovnako ako potrebujete upraviť register systému. Bez znalostí a skúseností nemáte čo robiť sami, to vám potvrdí každý správca systému. Kto je znalý a schopný, vie to urobiť sám, bezo mňa. A pre neskúseného človeka je lepšie to neskúšať. Register je srdcom operačného systému a operácie s ním by mal vykonávať iba skúsený odborník alebo pod jeho dohľadom. V žiadnom prípade nechcem nikoho uraziť, ale ak ste nepracovali so systémovým registrom a ak si ceníte svoj počítač, moja rada je zabudnúť na cestu tam. Nepíšem pre profesionálov, tí to nepotrebujú, ale pre bežného užívateľa. Samozrejme, môžem tam napísať, ako a čo mám robiť, ale toto bude ručné vysvetlenie a ak si počítač poškodíte v dôsledku najmenšej chyby, budem na vine ja. Ja to vôbec nepotrebujem a vy tiež.

Kód 21 Zariadenie sa odstraňuje zo systému, to znamená, že operačný systém sa pokúša odstrániť zariadenie, ale proces ešte nie je dokončený.


Pozastavte sa na niekoľko sekúnd a stlačte tlačidlo


Kód 22 Zariadenie je vypnuté. Zariadenie musí byť zapnuté.Akcia – Povoliť a postupujte podľa ďalších pokynov.


Kód 24 Zariadenie chýba alebo je nesprávne nainštalované, ovládač nefunguje správne, zariadenie mohlo byť pripravené na odstránenie. Odstráňte zariadenie a znova ho nainštalujte.


Kód 28 Žiadny vodič. Nainštalujte ovládač. Ak to chcete urobiť, musíte aktualizovať ovládač a postupujte podľa pokynov pre kód 1.


Kód 29Zariadenie je vypnuté . Zariadenie musíte nechať fungovať nastavenieBIOSPrečítajte si pokyny na používanie zariadenia.


Kód 31Systému sa nepodarilo načítať ovládače pre toto zariadenie . Aktualizujte ovládače podľa popisu vyššie.


Kód 32Ovládač pre toto zariadenie je v systémovom registri zakázaný . Odinštalujte a znova nainštalujte ovládač (popísané vyššie)


Kód 33Operačný systém nemôže určiť zdroje na tento účel zariadení . Nastavte zariadenie alebo ho vymeňte.


Kód 34Operačný systém nedokáže zistiť nastavenia zariadení . Pozrite si dokumentáciu dodanú so zariadením a konfiguráciu konfigurujte manuálne na karte Zdroje.


Kód 35Firmvér počítača neobsahuje potrebné informácie pre správne fungovanie prevádzka zariadenia . Je potrebné aktualizovaťBIOS.Pre návod ako na to kontaktujte svojho dodávateľa, alebo ešte lepšie využite služby skúseného technika.


Kód 36Zariadenie vyžaduje prerušenie prevádzky.PCIa zariadenie je nakonfigurované na prerušenieISA,alebo naopak . Je potrebné zmeniť nastaveniaBIOSkontaktujte skúseného technika.


Kód 37Operačný systém nerozpozná ovládač pre toto zariadenie . Preinštalujte ovládač (popísané vyššie).


Kód 38Operačný systém nemôže načítať ovládač pre zariadenie, pretože predchádzajúca verzia ovládača zostáva v pamäti . Musíte reštartovať počítač. Spustite Sprievodcu odstraňovaním problémov, ak sa nespustí (Vlastnosti - Všeobecné - Riešenie problémov) a postupujte podľa pokynov sprievodcu. Potom nasleduje povinný reštart.


Kód 39OS nemôže načítať ovládač zariadenia. Vodič je poškodený alebo vobec neexistuje . Preinštalujte ovládač podľa vyššie uvedeného popisu.


Kód 40Neexistuje žiadny prístup k zariadeniu, pretože v systémovom registri nie sú žiadne informácie alebo informácie obsahujú chybu . Preinštalujte ovládač.


Kód 41Zariadenie nebolo rozpoznané . Spustite Sprievodcu riešením problémov (popísaný vyššie), ak to nepomôže, aktualizujte konfiguráciu hardvéru (pozri vyššie) alebo aktualizujte ovládač. Ak nie, nainštalujte ďalšie Nová verzia vodičov.


Kód 42Systém už takýto ovládač má. To znamená, že sú dve rôzne zariadenia s rovnakým názvom, pravdepodobne v dôsledku chyby . Reštartujte počítač.


Kód 43Zastavenie zariadenia z dôvodu problémov s jeho prevádzkou . Spustite Sprievodcu odstraňovaním problémov a postupujte podľa jeho pokynov.


Kód 44Aplikácia alebo služba zastavila vaše zariadenie . Reštartujte počítač.


Kód 45Zariadenie nie je pripojené . Pripojte svoje zariadenie.


Kód 46Táto chyba sa objaví, keď sa operačný systém vypne. Nemusíte robiť nič, pri ďalšom spustení OS bude všetko fungovať.


Kód 47 Zariadenie bolo pripravené na bezpečné odstránenie, ale ešte nebolo odstránené (napríklad flash disk) . Odstráňte zariadenie, potom sa znova pripojte a reštartujte počítač.


Kód 48Zariadenie, respektíve jeho softvér, je zablokované . Aktualizujte ovládač alebo nainštalujte nový.


Kód 49Zariadenie sa nedá spustiť, pretože má veľký podregistr systémového registra, ktorý prekračuje povolené parametre registra . Odstráňte zariadenia, ktoré sa nepoužívajú, z registra. Môžete to urobiť: Správca zariadení - Zobraziť - Zobraziť skryté zariadenia. Tu uvidíte skryté zariadenia, ktoré nie sú pripojené k vášmu PC. Vyberte zariadenia, ktoré chcete odstrániť, kliknite na Vlastnosti zariadenia - Ovládač - Odstrániť, potom postupujte podľa pokynov sprievodcu a nakoniec reštartujte počítač.


Sprievodca odstránením vírusov z počítača vlastnými rukami. Všetky metódy odstraňovania vírusov skutočne fungujú a sú testované v praxi, návod krok za krokom s ilustráciami - jednoduché a dostupné aj pre školáka + videonávody + program ultraiso na vytvorenie sťahovacích programov + užitočné odkazy na nástroje v boji proti vírusom. Stiahnite si archív