Windows 7 lapas kļūdu atmiņa. Ierīču pārvaldnieka kļūdu kodi. Atmiņas lietojuma uzraudzība operētājsistēmā Windows

Savā pēdējā rakstā "" es runāju par Windows 7 resursu monitora (resursu monitora) iespējām, paskaidroju, kā to izmantot, lai uzraudzītu sistēmas resursu sadalījumu starp procesiem un pakalpojumiem, kā arī minēju, ka to var izmantot, lai atrisinātu konkrētus problēmas - piemēram, lai analizētu atmiņas patēriņu. Tieši par to tiks runāts šajā rakstā.

Mazliet par atmiņu

Pirms analīzes sākšanas es īsi runāšu par to, kā tiek kontrolēta atmiņa. Tādējādi jums būs vieglāk saprast, kāda informācija tiek parādīta Windows 7 resursu pārraudzītājā.

Windows 7 atmiņas pārvaldnieks izveido virtuālās atmiņas sistēmu, kas sastāv no pieejamās fiziskās RAM un lapas faila cietajā diskā. Tas ļauj operētājsistēmai fiziskajā un virtuālajā atmiņā piešķirt fiksēta garuma atmiņas blokus (lapas) ar secīgām adresēm.

Windows 7 Resource Monitor palaišana

Lai palaistu Windows 7 Resource Monitor, atveriet izvēlni Sākt, meklēšanas joslā ierakstiet "Resmon.exe" un noklikšķiniet uz . Atvērtajā logā atlasiet cilni “Atmiņa” (A attēls).

A attēls: Windows 7 Resource Monitor cilnē Atmiņa sniedz detalizētu informāciju par atmiņas piešķiršanu.

Procesu tabula

Cilnē Atmiņa ir Procesu tabula (B attēls), kurā ir uzskaitīti visi darbojošie procesi un atmiņas lietojums ir sadalīts vairākās kategorijās.


B attēls. Informācija par atmiņas lietojumu katram procesam ir sadalīta vairākās kategorijās.

Kolonna "Attēls"

Kolonnā “Attēls” ir norādīts nosaukums izpildāmais fails process. Procesi, palaida lietojumprogrammas, to ir ļoti viegli noskaidrot - piemēram, process “notepad.exe” nepārprotami pieder pie Notepad. Procesi ar nosaukumu "svchost.exe" ir dažādi operētājsistēmas pakalpojumi. Pakalpojuma nosaukums tiek parādīts iekavās blakus procesa nosaukumam.

Procesa ID kolonna

Kolonnā Process ID (PID) ir norādīts procesa numurs - unikāla skaitļu kombinācija, kas ļauj identificēt notiekošo procesu.

kolonna "Pabeigta".

Kolonnā Commit ir norādīts virtuālās atmiņas apjoms kilobaitos, ko sistēma ir rezervējusi šim procesam. Tas ietver gan izmantoto fizisko atmiņu, gan lappuses, kas saglabātas peidžeru failā.

Kolonna "Darba komplekts"

Kolonnā Darba kopa ir norādīts fiziskās atmiņas apjoms kilobaitos, ko izmanto process Šis brīdis laiks. Darba komplekts sastāv no publiskās un privātās atmiņas.

Kolonna "Vispārīgi"

Kolonnā Shareable norāda fiziskās atmiņas apjomu kilobaitos, ko šis process koplieto ar citiem. Viena atmiņas segmenta vai mijmaiņas lapas koplietošana saistītajiem procesiem var ietaupīt vietu atmiņā. Tas fiziski saglabā tikai vienu lapas kopiju, kas pēc tam tiek kartēta uz citu procesu virtuālo adrešu telpu, kas tai piekļūst. Piemēram, visi sistēmas iniciētie procesi DLL- Ntdll, Kernel32, Gdi32 un User32 - izmantojiet koplietojamo atmiņu.

Kolonna "Privāts"

Kolonnā Privāts ir norādīts fiziskās atmiņas apjoms kilobaitos, ko izmanto tikai šis process. Tieši šī vērtība ļauj noteikt, cik daudz atmiņas ir nepieciešams konkrētai lietojumprogrammai, lai tā darbotos.

Kolonna “Atmiņā trūkst lapas kļūdas/s”.

Slejā “Lapas kļūdas nepietiek atmiņas/s”. (Hard Faults/sec) parāda vidējo lappušu skaitu, kurās trūkst atmiņas kļūdu sekundē pēdējā minūtē. Ja process mēģina izmantot vairāk fiziskās atmiņas, nekā pašlaik ir pieejams, sistēma ieraksta daļu datu no atmiņas diskā - lapas failā. Sekojoša piekļuve diskā saglabātajiem datiem tiek saukta par lappuses trūkuma kļūdu.

Ko nozīmē lapas beigšanās atmiņa kļūdas?

Tagad, kad jums ir priekšstats par to, kāda informācija tiek apkopota tabulā Procesi, apskatīsim, kā varat to izmantot, lai uzraudzītu atmiņas piešķiršanu. Palaižot lietojumprogrammas un strādājot ar failiem, atmiņas pārvaldnieks uzrauga katra procesa darba kopas lielumu un reģistrē papildu atmiņas resursu pieprasījumus. Palielinoties procesa darba kopai, dispečers saskaņo šos pieprasījumus ar kodola un citu procesu vajadzībām. Ja pieejamā adrešu telpa nav pietiekama, dispečers samazina darba kopas lielumu, saglabājot datus no atmiņas diskā.

Vēlāk, nolasot šos datus no diska, tiek parādīta kļūda lappuses no atmiņas. Tas ir diezgan normāli, taču, ja kļūdas rodas vienlaicīgi dažādos procesos, sistēmai ir nepieciešams papildu laiks, lai nolasītu datus no diska. Pārāk biežas kļūdas, kurās trūkst atmiņas, tādējādi samazina sistēmas veiktspēju. Jūs, iespējams, esat piedzīvojis negaidītu palēnināšanos visās lietojumprogrammās, kas pēc tam arī pēkšņi apstājās. Šis palēninājums gandrīz noteikti bija saistīts ar aktīvu datu pārdali starp fizisko atmiņu un mijmaiņas darījumu.

Secinājums ir šāds: ja lappuses izbeigšanās kļūdas konkrētam procesam notiek pārāk bieži un regulāri, datoram nepietiek fiziskās atmiņas.

Lai būtu ērtāk pārraudzīt procesus, kas izraisa biežas lappušu izbeigšanās atmiņas kļūdas, varat tos atzīmēt ar karodziņiem. Šajā gadījumā atlasītie procesi tiks pārvietoti uz saraksta augšdaļu, un lapas trūkstošo kļūdu diagrammā tie tiks attēloti ar oranžu līkni.

Ir vērts ņemt vērā, ka atmiņas piešķiršana ir atkarīga no vairākiem citiem faktoriem, un lappušu izbeigšanās kļūdu uzraudzība nav ne labākā, ne vienīgais ceļš identificējot problēmas. Tomēr tas var kalpot kā labs sākumpunkts novērošanai.

Tabula "Fiziskā atmiņa"

Procesu tabula sniedz detalizētu informāciju par atmiņas sadalījumu starp atsevišķiem procesiem, savukārt tabula Fiziskā atmiņa sniedz vispārēju priekšstatu. RAM lietojums. Tās galvenā sastāvdaļa ir unikālā histogramma, kas parādīta attēlā. C.


C attēls: Histogramma tabulā Fiziskā atmiņa sniedz pārskatu par atmiņas sadalījumu operētājsistēmā Windows 7.

Katra histogrammas sadaļa ir apzīmēta ar savu krāsu un apzīmē noteiktu atmiņas lapu grupu. Sistēmas lietošanas laikā tiek ievadīts atmiņas pārvaldnieks fons pārvieto datus starp šīm grupām, saglabājot trauslo līdzsvaru starp fizisko un virtuālo atmiņu, lai nodrošinātu visu lietojumprogrammu efektīvu darbību. Apskatīsim histogrammu tuvāk.

Sadaļa “Rezervēts aprīkojums”

Kreisajā pusē ir sadaļa “Rezervēta aparatūra”, kas norādīta pelēkā krāsā: tā ir pievienotās aparatūras vajadzībām atvēlētā atmiņa, ko tā izmanto, lai mijiedarbotos ar operētājsistēmu. Aparatūrai rezervētā atmiņa ir bloķēta, un atmiņas pārvaldnieks tai nevar piekļūt.

Parasti iekārtām atvēlētās atmiņas apjoms svārstās no 10 līdz 70 MB, taču šis rādītājs ir atkarīgs no konkrētās sistēmas konfigurācijas un dažos gadījumos var sasniegt vairākus simtus megabaitu. Sastāvdaļas, kas ietekmē rezervētās atmiņas apjomu, ir:

;
Sastāvdaļas mātesplatē- piemēram, uzlabots programmējams ievades/izvades pārtraukšanas kontrolieris (APIC);
skaņas kartes un citas ierīces, kas veic atmiņas kartētu ievadi/izvadi;
PCI Express (PCIe) kopne;
videokartes;
dažādas mikroshēmas;
zibatmiņas diski.

Daži lietotāji sūdzas, ka viņu sistēmas aparatūrai rezervē neparasti daudz atmiņas. Es nekad neesmu saskāries ar šādu situāciju, un tāpēc nevaru galvot par piedāvātā risinājuma efektivitāti, taču daudzi atzīmē, ka BIOS versijas atjaunināšana var atrisināt problēmu.

sadaļā “Lietošanā”.

Sadaļa Izmantošanā, kas parādīta zaļā krāsā, norāda sistēmas, draiveru un izmantotās atmiņas apjomu darbojas procesi. Izmantotās atmiņas apjoms tiek aprēķināts kā “Kopā” vērtība, no kuras atņemta “Modificēts”, “Gaidstāves” un “Bezmaksas” indikatoru summa. Savukārt "Kopā" vērtība ir indikators "Installed RAM" mīnus rādītājs "Rezervēts aprīkojums".

Sadaļa "Mainīta"

Sadaļa “Modificēts” ir iezīmēta oranžā krāsā, kas apzīmē modificēto, bet neizmantoto atmiņu. Faktiski tas netiek izmantots, bet to var izmantot jebkurā laikā, ja nepieciešams vēlreiz. Ja atmiņa nav izmantota ilgu laiku, dati tiek pārsūtīti uz lapas failu un atmiņa nonāk kategorijā "Gaida".

Sadaļa "Gaida"

Sadaļa Gaida, kas parādīta zilā krāsā, attēlo atmiņas lapas, kas ir izņemtas no darba kopām, bet joprojām ir ar tām saistītas. Citiem vārdiem sakot, kategorija "Gaida" faktiski ir kešatmiņa. Atmiņas lapām šajā kategorijā ir piešķirta prioritāte no 0 līdz 7 (maksimums). Lapas, kas saistītas ar augstas prioritātes procesiem, saņem maksimālu prioritāti. Piemēram, koplietotiem procesiem ir augsta prioritāte, tāpēc ar tiem saistītajām lapām kategorijā Gaida tiek piešķirta augstākā prioritāte.

Ja procesam ir nepieciešami dati no gaidīšanas lapas, atmiņas pārvaldnieks nekavējoties atgriež šo lapu darba kopā. Tomēr visas lapas kategorijā Gaida ir pieejamas citu procesu datu ierakstīšanai. Kad procesam ir nepieciešams papildu atmiņa, un nav pietiekami daudz brīvas atmiņas, atmiņas pārvaldnieks atlasa gaidīšanas lapu ar zemāko prioritāti, inicializē to un piešķir pieprasījuma procesam.

Sadaļa "Bezmaksas"

Kategorija Bezmaksas, kas norādīta zilā krāsā, apzīmē atmiņas lapas, kas vēl nav piešķirtas nevienam procesam vai ir atbrīvotas, kad process tiek pārtraukts. Šajā sadaļā ir redzama gan neizmantotā, gan atbrīvotā atmiņa, taču faktiski neizmantotā atmiņa pieder citai kategorijai - “Zero Pages”, ko tā sauc, jo šīs lapas ir inicializētas uz nulli un gatavas lietošanai.

Par brīvas atmiņas problēmu

Tagad, kad jums ir pamatzināšanas par to, kā darbojas atmiņas pārvaldnieks, veltīsim laiku, lai novērstu izplatītu nepareizu priekšstatu par atmiņas pārvaldības sistēmu operētājsistēmā Windows 7. Kā redzams 1. attēlā. C, brīvās atmiņas sadaļa ir viena no mazākajām histogrammā. Tomēr ir kļūdaini pieņemt, ka Windows 7 patērē pārāk daudz atmiņas un ka sistēma nevar pareizi darboties, ja ir tik maz brīvas atmiņas.

Patiesībā tas ir tieši otrādi. Windows 7 pieejas atmiņas pārvaldībai kontekstā brīvā atmiņa ir bezjēdzīga. Jo vairāk atmiņas tiek izmantotas, jo labāk. Maksimizējot atmiņu un pastāvīgi pārvietojot lapas no vienas kategorijas uz citu, izmantojot prioritāro sistēmu, sistēma Windows 7 uzlabo efektivitāti un novērš datu nonākšanu lapas failā, novēršot ārpuslapas kļūdu palēnināšanos veiktspēju.

Atmiņas uzraudzība

Vai vēlaties redzēt Windows 7 atmiņas pārvaldības sistēmu darbībā? Restartējiet datoru un uzreiz pēc palaišanas atveriet Windows 7 Resource Monitor. Atveriet cilni Memory un pievērsiet uzmanību sadaļu attiecībai fiziskās atmiņas histogrammā.

Pēc tam sāciet palaist lietojumprogrammas. Skrienot vērojiet histogrammas izmaiņas. Kad esat palaidis pēc iespējas vairāk lietojumprogrammu, sāciet tās aizvērt pa vienai un vērojiet, kā mainās sadaļu attiecība fiziskās atmiņas histogrammā.

Veicot šo ekstrēmo eksperimentu, jūs sapratīsit, kā operētājsistēma Windows 7 pārvalda atmiņu jūsu konkrētajā datorā, un varēsiet izmantot Windows 7 Resource Monitor, lai uzraudzītu atmiņas piešķiršanu parastos ikdienas darbības apstākļos.

Ko tu domā?

Vai jums patīk ideja izmantot Windows 7 Resource Monitor, lai uzraudzītu atmiņas piešķiršanu? Dalies ar savu viedokli komentāros!

Preventīvie/nepreventīvie algoritmi.

Preventīva algoritma gadījumā operētājsistēma jebkurā brīdī var pārtraukt pašreizējā pavediena izpildi un pārslēgt procesoru uz citu pavedienu. Nepreventīvos algoritmos pavediens, kas tiek piešķirts procesoram, izlemj tikai to, kad pārsūtīt vadību uz operētājsistēmu.

Algoritmi ar kvantēšanu.

Katram pavedienam tiek piešķirts laika posms, kura laikā pavediens var tikt izpildīts procesorā. Kad kvants beidzas, operētājsistēma pārslēdz procesoru uz nākamo rindas pavedienu. Kvants parasti ir vienāds ar veselu sistēmas taimera intervālu skaitu 1.

Algoritmi ar prioritātēm.

Katram pavedienam tiek piešķirta prioritāte - vesels skaitlis, kas norāda pavediena privilēģiju pakāpi. Operētājsistēma, ja ir vairāki palaišanai gatavi pavedieni, atlasa pavedienu ar augstāko prioritāti.

Operētājsistēmā Windows tiek ieviests jaukts plānošanas algoritms — preventīvs, pamatojoties uz kvantēšanu un prioritātēm.

  1. Daudzuzdevumu veids DOS lietojumprogrammai
  2. Servisa garantijas
  3. Priekšplāna procesu plānošana
  4. Peidžeru faila mērķis
  5. Procesi P1, P2, P3 atvēl 100, 20, 80 MB atmiņas. Sistēmai ir 128 MB RAM. Kāds ir lapas faila aizņemtās atmiņas lielums. Kāds ir mijmaiņas faila lielums.
  1. Kas ir "lapas kļūda"?

Pārtraukums 14 -Lapas vaina (#PF): Intel386…

Tiek ģenerēts, ja ir aktivizēta lapas programma (CR0.PG = 1) un, pārvēršot lineāro adresi uz fizisko adresi, rodas kāda no tālāk norādītajām situācijām.

  • lapas tabulas vai lapu direktorija elements, ko izmanto adreses tulkošanā, ir nulles klātbūtnes bits, t.i. vajadzīgā lappušu tabula vai lapa nav fiziskajā atmiņā;
  • procedūrai nav privilēģiju līmenis, kas ir pietiekams, lai piekļūtu atlasītajai lapai, vai mēģina rakstīt uz lapu, kas ir aizsargāta pret rakstīšanu atbilstoši pašreizējam privilēģiju līmenim.

Lapas kļūdu apstrādātājs informāciju par tās cēloni iegūst no diviem avotiem: kļūdas koda, kas tiek iespiests stekā, un CR2 reģistra satura, kas satur kļūdu izraisījušo lineāro adresi. Lapas kļūdas kodam ir īpašs formāts (3.7. att.).

Pārtrauktu programmu pēc lappuses defektu izraisījušo iemeslu novēršanas (piemēram, lapas ielādēšanas fiziskajā atmiņā) var turpināt bez papildu korekcijām.

Ja lapas kļūme radusies lapas drošības privilēģiju pārkāpuma dēļ, tiek iestatīts piekļuves bits (A) attiecīgajā lappuses direktorija ierakstā. Piekļuves bita darbība attiecīgajā lappušu tabulu elementā šim gadījumam nav regulēta Intel procesori un dažādos modeļos var atšķirties.

  1. Augsta intensitāte lapas kļūdas saka:

Programmas nedrošība

RAM neuzticamība

Cits: paskaidrojiet

Kolonna “Atmiņā trūkst lapas kļūdas/s”.

Slejā “Lapas kļūdas nepietiek atmiņas/s”. (Hard Faults/sec) parāda vidējo lappušu skaitu, kurās trūkst atmiņas kļūdu sekundē pēdējā minūtē. Ja process mēģina izmantot vairāk fiziskās atmiņas, nekā pašlaik ir pieejams, sistēma ieraksta daļu datu no atmiņas diskā - lapas failā. Sekojoša piekļuve diskā saglabātajiem datiem tiek saukta par lappuses trūkuma kļūdu.

Ko nozīmē lapas beigšanās atmiņa kļūdas?

Tagad, kad jums ir priekšstats par to, kāda informācija tiek apkopota tabulā Procesi, apskatīsim, kā varat to izmantot, lai uzraudzītu atmiņas piešķiršanu. Palaižot lietojumprogrammas un strādājot ar failiem, atmiņas pārvaldnieks uzrauga katra procesa darba kopas lielumu un reģistrē papildu atmiņas resursu pieprasījumus. Palielinoties procesa darba kopai, dispečers saskaņo šos pieprasījumus ar kodola un citu procesu vajadzībām. Ja pieejamā adrešu telpa nav pietiekama, dispečers samazina darba kopas lielumu, saglabājot datus no atmiņas diskā.

Vēlāk, nolasot šos datus no diska, tiek parādīta kļūda, kas radusies lappuses iztrūkumā. Tas ir diezgan normāli, taču, ja kļūdas rodas vienlaicīgi dažādos procesos, sistēmai ir nepieciešams papildu laiks, lai nolasītu datus no diska. Pārāk biežas atmiņas kļūdas samazina sistēmas veiktspēju. Jūs, iespējams, esat piedzīvojis negaidītu palēnināšanos visās lietojumprogrammās, kas pēc tam arī pēkšņi apstājās. Šis palēninājums gandrīz noteikti bija saistīts ar aktīvu datu pārdali starp fizisko atmiņu un mijmaiņas darījumu.

Secinājums ir šāds: ja lapa no atmiņas kļūdas konkrētam procesam rodas pārāk bieži un regulāri, Datoram nav pietiekami daudz fiziskās atmiņas.

Lai būtu ērtāk pārraudzīt procesus, kas izraisa biežas lappušu izbeigšanās atmiņas kļūdas, varat tos atzīmēt ar karodziņiem. Šajā gadījumā atlasītie procesi tiks pārvietoti uz saraksta augšdaļu, un lapas trūkstošo kļūdu diagrammā tie tiks attēloti ar oranžu līkni.

Ir vērts paturēt prātā, ka atmiņas piešķiršana ir atkarīga no vairākiem citiem faktoriem, un lappušu izbeigšanās kļūdu pārraudzība nav labākais vai vienīgais problēmu noteikšanas veids. Tomēr tas var kalpot kā labs sākumpunkts novērošanai.

  1. Kā sistēmā Windows tiek noteikta pavediena prioritāte?

Prioritātes

Windows operētājsistēmā tiek ieviesta prioritāra prioritātes plānošana, kad katram pavedienam tiek piešķirta noteikta skaitliskā vērtība - prioritāte, saskaņā ar kuru tam tiek piešķirts procesors. Pavedieni ar vienādām prioritātēm tiek ieplānoti saskaņā ar Round Robin algoritmu (karuselis). Sistēmas svarīga priekšrocība ir iespēja apsteigt pavedienus, kas darbojas kodola režīmā - izpildsistēmas kods ir pilnībā atkārtoti ienācis. Tikai pavedieni, kuriem ir spinlock, netiek priekšlaicīgi (skatiet "Pavedienu sinhronizēšana"). Tāpēc spinlocks tiek izmantots ļoti rūpīgi un ir iestatīts uz minimālu laiku.

Sistēma nodrošina 32 prioritāšu līmeņus. Sešpadsmit prioritātes vērtības (16-31) atbilst reāllaika prioritāšu grupai, piecpadsmit vērtības (1-15) ir parastajiem pavedieniem, un vērtība 0 ir rezervēta sistēmas lapas nulles noteikšanas pavedienam (sk. 6.2. attēlu). ).

Rīsi. 6.2. Pavedienu prioritātes

Lai glābtu lietotāju no nepieciešamības atcerēties skaitliskās vērtības prioritātes un jāspēj modificēt plānotāju, izstrādātāji ieviesuši sistēmā prioritārais abstrakcijas slānis. Piemēram, prioritātes klasi visiem konkrēta procesa pavedieniem var iestatīt, izmantojot funkcijas SetPriorityClass konstantu parametru kopu, kam var būt šādas vērtības:

  • reāllaikā (REALTIME_PRIORITY_CLASS) — 24
  • augsts (HIGH_PRIORITY_CLASS) - 13
  • virs normas (ABOVE_NORMAL_PRIORITY_CLASS) 10
  • parasta (NORMAL_PRIORITY_CLASS) — 8
  • zem normas (BELOW_NORMAL_PRIORITY_CLASS) - 6
  • un dīkstāvē (IDLE_PRIORITY_CLASS) 4

Pavediena relatīvo prioritāti nosaka līdzīgi funkcijas SetThreadPriority parametri:

Sešu procesa prioritātes klašu un septiņu pavedienu prioritātes klašu komplekts veido 42 iespējamās kombinācijas un ļauj izveidot tā saukto pamata pavedienu prioritāti

Procesa un primārā pavediena noklusējuma bāzes prioritāte ir vērtība procesa prioritāšu diapazonu vidū ( 24, 13, 10, 8, 6 vai 4). Mainot procesa prioritāti, ir jāmaina visu tā pavedienu prioritātes, kamēr to relatīvās prioritātes paliek nemainīgas.

Prioritāte no 16. līdz 31. nav īsti reāllaika prioritātes, jo Windows mīkstais reāllaika atbalsts negarantē pavedienu laiku. Tās vienkārši ir augstākas prioritātes, kas ir rezervētas sistēmas pavedieniem un tiem pavedieniem, kuriem šādu prioritāti piešķir lietotājs ar administratora tiesībām. Tomēr reāllaika prioritāšu esamība, kā arī kodola koda priekšizņemšana, atmiņas lapu lokalizācija (sk. "Atmiņas pārvaldnieka darbība") un vairākas papildus iespējas- tas viss ļauj to veikt OS vidē Windows lietojumprogrammas mīksts reāllaika režīms, piemēram, multivide. Sistēmas pavediens ar nulles prioritāti ir aizņemts ar atmiņas lapu notīrīšanu. Parasto lietotāju pavedieniem var būt prioritātes no 1 līdz 15.


Saistītā informācija.


Atmiņas piešķiršana operētājsistēmās Windows 9x un Windows NT. Windows 7 Resource Monitor. Izpētiet ar atmiņu saistītos vienumus un cilnes. Windows 7 Resource Monitor izmantošana, lai uzraudzītu atmiņas piešķiršanu. Peidžeru faila (virtuālās atmiņas) izmēra palielināšana. Atmiņas pārbaude, izmantojot Windows.

3.1. Atmiņas piešķiršana operētājsistēmā Windows 9x

Operētājsistēma Windows 9x ir 32 bitu daudzpavedienu OS ar preventīvu vairākuzdevumu izpildi un grafisku lietotāja interfeisu. Sāknēšanai viņi izmanto MS-DOS 7.0, kas nodrošina divus procesora darbības režīmus – reālo (BootGUI=0 ir ierakstīts MSDOS.SYS failā) un aizsargāto (BootGUI=1). Aizsargātais režīms tiek instalēts tieši pirms Windows 9x sāknēšanas, liekot procesoram sākt pārvaldīt atmiņu, izmantojot peidžeru mehānismu. virtuālās adreses fiziskajos. Virtuālās adrešu telpas apgabals sastāv no 4 kilobaitu lapām, kas atrodas RAM vai diskā.

Virtuālās adrešu telpas zemas kārtas adreses izmanto visi procesi, lai nodrošinātu saderību ar reāllaika ierīču draiveriem, rezidentajām Windows programmām utt. Tas, no vienas puses, ir ērti, bet, no otras puses, samazina uzticamību (viena no galvenajām OS īpašībām), jo jebkurš process var sabojāt komponentus, kas atrodas šajās adresēs.

Katra 32 bitu Windows lietojumprogramma darbojas savā adrešu telpā, taču ir iespējama piekļuve nepieciešamajām adresēm, t.i. virtuālo adrešu organizēšanā netiek izmantota visa mikroprocesorā iebūvētā aparatūras aizsardzība. 16 bitu programmām ir kopīga adrešu telpa, un tās ir arī neaizsargātas viena pret otru. Windows 9x atmiņas modelis ir parādīts 3.1. attēlā.

Rīsi. 3.1. OP izplatīšana operētājsistēmā Windows 9x

Apakšējā 64 KB operētājsistēma nav pieejama 32 bitu programmām, taču 16 bitu programmas šeit var ierakstīt savus datus. Adreses, kas ir mazākas par 4 MB, tiek kartētas katras lietojumprogrammas adrešu telpā, un tās koplieto visi procesi. Tas padara šo apgabalu neaizsargātu pret nejaušu rakstīšanu.

Minimālais nepieciešamais atmiņas apjoms, lai Windows 9x darbotos, ir 4 MB, taču ar šādu atmiņas apjomu strādāt praktiski nav iespējams. Lapas fails , ar kura palīdzību tiek realizēts virtuālās atmiņas mehānisms, atrodas Windows direktorijā un ir mainīga izmēra, ko nepieciešamības gadījumā maina pati sistēma. Tās izmērus var iestatīt, izmantojot sistēmas rīkus (Vadības panelis → Sistēma → Veiktspēja → Failu sistēma), vai norādīt faila sadaļā SYSTEM.INI - rindas, kas norāda disku un faila nosaukumu:

Pagingfive=c:\PageFile.sys

MinPagingFileSize=65536 (64 MB)

MaxPagingFileSize=262144 (256 MB)

Pirmā un otrā rinda nosaka faila nosaukumu un tā atrašanās vietu, bet pēdējās divas – lapas faila sākotnējo un maksimālo izmēru KB.

Minimālo peidžeru faila lielumu var iegūt, palaižot SysMon (System Monitor) un izvēloties peidžeru faila lielumu un brīvās atmiņas apjomu kā nepieciešamos parametrus, lai novērtētu visbiežāk izmantoto lietojumprogrammu atmiņas prasības.

3.2. Atmiņas piešķiršana operētājsistēmā Windows NT

Atšķirības starp izplatīšanas shēmu un Windows 9x ir šādas:

1) nopietnāka mikroprocesorā nodrošinātās aparatūras atmiņas aizsardzības izmantošana;

2) visi sistēmas programmatūras moduļi atrodas savā virtuālajā adrešu telpā un lietojumprogrammas nevar tiem piekļūt.

Adrešu telpas sadalījums operētājsistēmā Windows NT ir parādīts attēlā. 3.2.

Rīsi. 3.2. OP izplatīšana operētājsistēmā Windows NT

Lietojumprogrammām tiek atvēlēti 2 GB lokālās (pašas) lineārās (nestrukturētās) adrešu telpas (pirmie 64 KB nav pieejami). Tie ir izolēti viens no otra un var sazināties viens ar otru, tikai izmantojot starpliktuvi vai DDE (Dynamic Data Exchange) un OLE (Object Linking and Embedding) mehānismus.

2 GB apgabala augšējā daļā ir kods sistēmas DLL (dinamiski saistītās bibliotēkas), kas darbojas kā servera procesi. Viņi pārbauda vaicājuma parametru vērtības, izpilda pieprasīto funkciju un nosūta rezultātus atpakaļ uz izsaucošās programmas adrešu telpu.

Adrešu diapazonā no 2 līdz 4 GB ir Windows sistēmas (zema līmeņa) komponenti (t.i., augstākā līmeņa aizsardzība pret nesankcionētu piekļuvi: kodols, pavedienu plānotājs, atmiņas pārvaldnieks).

16 bitu Windows lietojumprogrammām WOW (Windows operētājsistēmā Windows) sesijas tiek ieviestas preventīvā vairākuzdevumu režīmā, atsevišķi savās adrešu telpās vai kopā koplietotā adrešu telpā.

Palaižot lietojumprogrammu, tiek izveidots process ar savu informācijas struktūru, kuras ietvaros tiek palaists uzdevums. Tas var veikt citus uzdevumus. Rezultātā tiek organizēts daudzuzdevumu darbības režīms.

Atmiņas pārvaldību (piešķiršanu, rezervēšanu, atbrīvošanu, peidžeru) veic VMM virtuālās atmiņas pārvaldnieks (Virtual Memory Manager). Katra virtuālā lapa tiek pārsūtīta uz fizisku lapu – lapas rāmi, kas sākotnēji aizpildīts ar nullēm (tā ir C2 līmeņa drošības sistēmas standarta galvenā prasība, kas nosaka to iepriekšējā satura izmantošanas neiespējamību citiem procesiem). Vieta lappušu apmaiņai ir rezervēta lapas failā Pagefile.sys, kas ir rezervēts diska vietas bloks.

Visi Windows atmiņa NT ir iedalīts sīkāk rezervēts(dinamiskai lietošanai procesiem, izpildot uzdevumus), veltīta(kurai augšupielāde ir rezervēta vietnē Pagefile.sys) un pieejams(pārējā brīvā atmiņa).

      Virtuālā atmiņa operētājsistēmā Windows

Visizplatītākais sistēmas palēninājuma iemesls ir Windows vadība- fiziskās atmiņas aizpildīšana. Tajā pašā laikā Windows sāk tā saukto “peidžeru” - koda un programmas datu bloku pārvietošanu (katru šādu bloku sauc par lapu) no fiziskās atmiņas uz cieto disku. Laiku pa laikam piekļūstot lapas failam, tas ir normāli un nepazemina sistēmas veiktspēju, taču biežie datu pieprasījumi no diskā esošā faila var ievērojami samazināt kopējo sistēmas ātrumu. Šī problēma ir īpaši pamanāma, pārslēdzoties starp vairākām programmām, kas aizņem daudz atmiņas datorā, kurā nav pietiekami daudz fiziskās atmiņas. Rezultātā disks tiek gandrīz nepārtraukti izmantots, jo sistēma mēģina “iesūknēt” datus no tā uz atmiņu un atpakaļ.

Ja kopējais piešķirtās atmiņas apjoms pārsniedz kopējo fiziskās atmiņas apjomu, sistēmai Windows ir "jāsūknē" lapas starp ātro RAM un daudz lēnāko virtuālo atmiņu lapas failā, izraisot sistēmas darbības palēnināšanos.

Notiek Windows instalācijas XP lapas fails tiek automātiski izveidots saknes mapē tajā pašā diskā, kurā atrodas sistēmas faili Windows faili. Peidžeru faila lielums tiek noteikts, pamatojoties uz sistēmas fiziskās atmiņas apjomu. Noklusējums minimālais izmērs Lapas fails ir 1,5 reizes lielāks nekā fiziskās atmiņas apjoms, un maksimālais izmērs ir 3 reizes lielāks. Mijmaiņas failu var redzēt Explorer logā, ja iespējojat slēpto un sistēmas failu parādīšanas režīmu (3.3. att.).

Rīsi. 3.3. Slēpto un sistēmas failu parādīšanas iespējošana

Parasti Windows operētājsistēma pati uzstāda optimālo virtuālās atmiņas apjomu un ar to pietiek lielākajai daļai uzdevumu, taču, ja datorā darbojas aplikācijas, kurām nepieciešams daudz atmiņas, tad virtuālās atmiņas apjomu var mainīt.

Lai to izdarītu, jums jāveic šāda darbību secība:

1. Piesakieties sistēmā, izmantojot administratoru grupas kontu, un atveriet logu “Vadības panelis – sistēma”.

2. Cilnes “Papildu” sadaļā “Veiktspēja” noklikšķiniet uz pogas “Opcijas” (3.4. att.).

3. Dialoglodziņā Performance Options atlasiet cilni Advanced un noklikšķiniet uz pogas Mainīt (3.5. attēls), lai parādītu dialoglodziņu Virtual Memory, kas parādīts 3.5. attēlā. 3.6 operētājsistēmai Windows XP un attēlā. 3.7 operētājsistēmai Windows 7.

Pašreizējie peidžeru faila iestatījumi ir atspoguļoti laukā “Kopējais peidžeru faila lielums visos diskos”.

4. Dialoglodziņa augšdaļā esošajā sarakstā atlasiet jebkuru disku, lai konfigurētu šī diska iestatījumus.

Varat mainīt šādus iestatījumus:

- Īpašs izmērs. Laukā ievadiet vērtību Oriģinālais izmērs lai iestatītu faila pagefile.sys sākotnējo izmēru norādītajā diskā (megabaitos). Laukā Maksimālais izmērs laukā ievadiet skaitli, kas nav mazāks par vērtību Oriģinālais izmērs, bet nepārsniedz 4096 MB (4 GB).

- Izmērs atbilstoši sistēmas izvēlei. Atlasiet šo opciju, lai iespējotu peidžeru faila lieluma dinamisku pārvaldību no šī diska. Atlasiet šo opciju, ja nevēlaties mainīt Windows piedāvātos noklusējuma iestatījumus.

- Nav mijmaiņas faila. Izmantojiet visiem diskdziņiem, kur nav nepieciešams lapas fails. Pārliecinieties, vai vismaz vienā diskā ir mijmaiņas fails.

5. Pēc izmaiņu veikšanas noklikšķiniet uz Iestatīt lai reģistrētu izmaiņas.

6. Atkārtojiet 4. un 5. darbību citiem diskdziņiem (ja nepieciešams). Noklikšķiniet uz Labi, lai aizvērtu dialoglodziņu, kad esat pabeidzis.

Rīsi. 3.4. Poga “Opcijas”, lai pārietu uz apskati un/vai

virtuālās atmiņas parametru maiņa

Rīsi. 3.5. Poga “Mainīt”, lai mainītu virtuālās atmiņas iestatījumus operētājsistēmā WindowsXP (pa kreisi) un Windows7

Rīsi. 3.6. Logs virtuālās atmiņas lieluma apskatei un iestatīšanai

Rīsi. 3.7. Logs virtuālās atmiņas lieluma skatīšanai un iestatīšanai operētājsistēmā Windows 7

Ja jūsu datoram ir vairāki fiziski diski, vislabāk ir ievietot lapas failu ātrākais, un vēlams, ja sistēmas faili Windows būs citā diskā. Vēl labāk ir sadalīt lapas failu vairākos fiziskais diskus, jo diska kontrolleris var apstrādāt vairākus rakstīšanas un lasīšanas pieprasījumus paralēli.

Nemēģiniet ievietot peidžeru failu vairākos viena fiziskā diska loģiskajos diskos!!!

Ja sistēmai ir viens cietais disks, kas sadalīts C, D un E nodalījumos un lapas fails ir sadalīts pa vairākiem nodalījumiem, tad sistēma var pat palēnināt, jo šajā konfigurācijā cietā diska magnētiskajām galviņām ir jānolasa dati no vairākas zonas, nevis no vienas uz otru. viena diska zona.

Ja samazinat minimālo vai maksimālo peidžeru faila lielumu un diskā izveidojat jaunu peidžeru failu, sistēma ir jārestartē, lai izmaiņas stātos spēkā. Lapas faila lieluma palielināšanai parasti nav nepieciešams restartēt datoru.

Ja jums ir daudz fiziskās atmiņas, jums var rasties kārdinājums pilnībā atspējot lapas failu. Nedari tā! !!

Windows XP tika izstrādāts, lai izmantotu lapas failu, lai veiktu dažus kodola uzdevumus, tāpēc dažas trešās puses programmas var ziņot par nepietiekamu atmiņu, mēģinot pilnībā atspējot virtuālo atmiņu.

Windows neizmanto pagefile, kamēr tas nav nepieciešams, tāpēc virtuālās atmiņas atspējošana neuzlabos veiktspēju!!!

Windows pēc vajadzības var dinamiski palielināt lapas faila lielumu. Šī funkcija darbojas tikai tad, ja atlasāt " Sistēmas izvēles izmērs", kā arī iestatot maksimālo izmēru, kas ir lielāks par peidžeru faila pašreizējo izmēru.

Pamatojoties uz pieredzi ar iepriekšējām Windows versijām, daži lietotāji mēģina izveidot fiksēta izmēra peidžeru failu ar vienādu sākuma un maksimālie izmēri. Teorētiski tam vajadzētu uzlabot veiktspēju, jo tas novērš lappuses failu sadrumstalotības iespēju. Tomēr peidžeru apakšsistēma ir veidota tā, ka praksē fails aizņem tikai lielus diska vietas blokus, padarot fragmentāciju minimālu. Ja Windows palielina lapas faila lielumu, varat pamanīt nelielu veiktspējas kritumu, taču tā ir vienreizēja darbība un neietekmē vidējo veiktspēju.

      Atmiņas lietojuma uzraudzība operētājsistēmā Windows

Vienkāršākais veids, kā uzzināt, cik daudz RAM tiek izmantots konkrētajā brīdī, ir atvērt uzdevumu pārvaldnieku, noklikšķinot uz ++ un doties uz cilni “Performance” (3.8. att.). Detalizēts informācijas apraksts operētājsistēmas Windows XP cilnē “Veiktspēja” ir parādīts tabulā. 3.1.

3.1. tabula. Uzdevumu pārvaldnieka datu atšifrēšana

Operētājsistēmas Windows7 cilnē “Veiktspēja” ir ievērojami jauninājumi salīdzinājumā ar atbilstošo pārvaldnieka cilni Windows uzdevumi XP.

Cipars sadaļas "Fiziskā atmiņa" kolonnā "Kopā" norāda šīs sistēmas kopējo RAM apjomu. Slejā Kešatmiņā ir redzams fiziskās atmiņas apjoms, ko nesen izmantoja sistēmas resursi. Tas paliek kešatmiņā, ja sistēmai tas atkal ir nepieciešams, bet ir pieejams citiem procesiem. Jaunā kolonna “Pieejams” norāda pašlaik neizmantotās fiziskās atmiņas apjomu, un kolonna “Bezmaksas” norāda atmiņas apjomu, ko izmanto kešatmiņa, bet nesatur noderīgu informāciju.

Sadaļā “Kodola atmiņa” ir divas kolonnas - “Paged” un “Nonpaged”. Kopā tie norāda, cik daudz atmiņas izmanto kodols. Paged ir virtuālā atmiņa, un bez lappušu ir fiziskā atmiņa.

Sadaļā “Sistēma” tika parādītas kolonnas “Rokturi” un “Pavedieni”, kas saistītas ar procesu sastāvdaļām. Slejā “Descriptors” ir norādīts objektu identifikatoru (deskriptoru) skaits, ko izmanto pašlaik darbojošie procesi. Kolonnā Pavedieni tiek parādīts apakšprocesu skaits, kas darbojas lielākos procesos. Skaitlis kolonnā “Procesi”, protams, norāda kopējo darbojošos procesu skaitu, ko var redzēt cilnē “Procesi”.

Slejā “Up Time” ir norādīts, cik daudz laika ir pagājis kopš pēdējās datora palaišanas reizes. Slejā “Apstiprināt” ir informācija par peidžeru failu. Pirmais cipars norāda kopējo pašlaik izmantotās fiziskās un virtuālās atmiņas apjomu, bet otrais cipars norāda kopējo atmiņas apjomu konkrētajam datoram principā.

Vēl detalizētāku informāciju var iegūt, noklikšķinot uz pogas “Resursu monitors” un izvēloties cilni “Atmiņa” (3.9. att.).

Rīsi. 3.9. Windows 7 Resource Monitor loga cilne Atmiņa

Cilnē “Atmiņa” ir tabula “Procesi”, kurā ir uzskaitīti visi darbojošie procesi, un informācija par katram procesam izmantoto atmiņu ir sadalīta vairākās kategorijās (3.10. att.).

Rīsi. 3.10. Procesu tabula

Kolonnā " Attēls" norāda procesa izpildāmā faila nosaukumu. Lietojumprogrammu darbinātos procesus ir ļoti viegli atpazīt - piemēram, process “Winword.exe” nepārprotami pieder Word teksta redaktoram. Procesi ar nosaukumu "svchost.exe" ir dažādi operētājsistēmas pakalpojumi. Pakalpojuma nosaukums tiek parādīts iekavās blakus procesa nosaukumam.

Kolonnā " Procesa ID» norāda procesa numuru - unikālu ciparu kombināciju, kas ļauj identificēt notiekošo procesu.

Kolonnā " Pabeigts" norāda virtuālās atmiņas apjomu kilobaitos, ko sistēma rezervējusi šim procesam. Tas ietver gan izmantoto fizisko atmiņu, gan lappuses, kas saglabātas peidžeru failā.

Kolonnā " Darba komplekts" norāda fiziskās atmiņas apjomu kilobaitos, ko process izmanto noteiktā laikā. Darba komplekts sastāv no publiskās un privātās atmiņas.

Kolonnā " Ģenerālis" norāda fiziskās atmiņas apjomu kilobaitos, ko šis process koplieto ar citiem. Viena atmiņas segmenta vai mijmaiņas lapas koplietošana saistītajiem procesiem var ietaupīt vietu atmiņā. Tas fiziski saglabā tikai vienu lapas kopiju, kas pēc tam tiek kartēta uz citu procesu virtuālo adrešu telpu, kas tai piekļūst. Piemēram, visi uzsāktie procesi sistēmu bibliotēkas DLL — Ntdll, Kernel32, Gdi32 un User32 — izmanto koplietojamo atmiņu.

Kolonnā " Privāts" norāda fiziskās atmiņas apjomu kilobaitos, ko izmanto tikai šis process. Tieši šī vērtība ļauj noteikt, cik daudz atmiņas ir nepieciešams konkrētai lietojumprogrammai, lai tā darbotos.

Kolonnā " Lapas pietrūkst atmiņas kļūdas/s."Tiek norādīts vidējais lappušu skaits bez atmiņas kļūdu sekundē pēdējā minūtē. Ja process mēģina izmantot vairāk fiziskās atmiņas, nekā pašlaik ir pieejams, sistēma ieraksta daļu datu no atmiņas diskā - lapas failā. Sekojoša piekļuve diskā saglabātajiem datiem tiek saukta par lappuses trūkuma kļūdu.

Palaižot lietojumprogrammas un strādājot ar failiem, atmiņas pārvaldnieks uzrauga katra procesa darba kopas lielumu un reģistrē papildu atmiņas resursu pieprasījumus. Palielinoties procesa darba kopai, dispečers saskaņo šos pieprasījumus ar kodola un citu procesu vajadzībām. Ja pieejamā adrešu telpa nav pietiekama, dispečers samazina darba kopas lielumu, saglabājot datus no atmiņas diskā.

Vēlāk, nolasot šos datus no diska, tiek parādīta kļūda lappuses no atmiņas. Tas ir diezgan normāli, taču, ja kļūdas rodas vienlaicīgi dažādos procesos, sistēmai ir nepieciešams papildu laiks, lai nolasītu datus no diska. Pārāk biežas kļūdas, kurās trūkst atmiņas, tādējādi samazina sistēmas veiktspēju. Tas izpaužas kā negaidīts palēninājums visās lietojumprogrammās, kas pēc tam arī negaidīti apstājas. Palēnināšanās ir saistīta ar aktīvu datu pārdali starp fizisko atmiņu un mijmaiņas darījumu.

Secinājums ir šāds: ja lappuses izbeigšanās kļūdas konkrētam procesam notiek pārāk bieži un regulāri, datoram nepietiek fiziskās atmiņas.

Lai būtu ērtāk pārraudzīt procesus, kas izraisa biežas lappušu izbeigšanās atmiņas kļūdas, varat tos atzīmēt ar karodziņiem. Šajā gadījumā atlasītie procesi tiks pārvietoti uz saraksta augšdaļu, un lapas trūkstošo kļūdu diagrammā tie tiks attēloti ar oranžu līkni.

Ir vērts paturēt prātā, ka atmiņas piešķiršana ir atkarīga no vairākiem citiem faktoriem, un lappušu izbeigšanās kļūdu pārraudzība nav labākais vai vienīgais problēmu noteikšanas veids. Tomēr tas var kalpot kā labs sākumpunkts novērošanai.

Tabulā Procesi ir sniegta detalizēta informācija par atmiņas sadalījumu starp atsevišķiem procesiem, bet tabula Fiziskā atmiņa sniedz vispārēju priekšstatu par RAM lietojumu. Tās galvenā sastāvdaļa ir unikālā histogramma, kas parādīta attēlā. 3.11.


3.11. attēls. Histogramma tabulā "Fiziskā atmiņa" ļauj iegūt pārskatu par atmiņas sadalījumu operētājsistēmā Windows 7

Katra histogrammas sadaļa ir apzīmēta ar savu krāsu un apzīmē noteiktu atmiņas lapu grupu. Sistēmas lietošanas laikā atmiņas pārvaldnieks pārvieto datus starp šīm grupām fonā, saglabājot smalku līdzsvaru starp fizisko un virtuālo atmiņu, lai nodrošinātu visu lietojumprogrammu efektīvu darbību. Apskatīsim histogrammu tuvāk.

Kreisajā pusē ir sadaļa " Rezervēts aprīkojums", kas norādīts pelēkā krāsā: šī ir pievienotā aprīkojuma vajadzībām piešķirtā atmiņa, ko tā izmanto, lai mijiedarbotos ar operētājsistēmu. Aparatūrai rezervētā atmiņa ir bloķēta, un atmiņas pārvaldnieks tai nevar piekļūt. Parasti iekārtām atvēlētās atmiņas apjoms svārstās no 10 līdz 70 MB, taču šis rādītājs ir atkarīgs no konkrētās sistēmas konfigurācijas un dažos gadījumos var sasniegt vairākus simtus megabaitu.

Sastāvdaļas, kas ietekmē rezervētās atmiņas apjomu, ir:

Mātesplates komponenti – piemēram, Advanced Programmable I/O Interrupt Controller (APIC);

Skaņas kartes un citas ierīces, kas veic atmiņas kartētu ievadi/izvadi;

PCI Express (PCIe) kopne;

Video kartes;

Dažādi mikroshēmu komplekti;

Zibatmiņas diski.

Sadaļa " Lietots", kas norādīts zaļā krāsā, apzīmē sistēmas, draiveru un darbojošos procesu izmantoto atmiņas apjomu. Izmantotās atmiņas apjoms tiek aprēķināts kā vērtība " Kopā» mīnus rādītāju summa « Mainīts», « Gaidīšana" Un " Bezmaksas" Savukārt vērtība " Kopā"ir rādītājs" Uzstādīts"mīnus indikators" Rezervēts aprīkojums».

Kad process sākas operētājsistēmā Windows, daudzas lapas, kurās tiek parādīti EXE un DLL attēli, jau var būt atmiņā, jo tās izmanto citi procesi. Rakstāmās attēlu lapas ir atzīmētas kā "kopēšana-rakstīšanas", lai tās varētu koplietot, līdz tās ir jāmaina. Ja operētājsistēma atpazīst jau izpildītu EXE, tā var ierakstīt lapas saites modeli (izmantojot tehnoloģiju, ko Microsoft izsauc Super-Fetch). Šī tehnoloģija mēģina uzpumpēt daudzas nepieciešamās lapas iepriekš (lai gan process vēl nav saņēmis tajās lapu kļūdas). Tas samazina lietojumprogrammas palaišanas latentumu (lapu lasīšana no diska pārklājas ar attēlu inicializācijas koda izpildi). Šī tehnoloģija uzlabo diska izvades veiktspēju, jo diska draiveri var vieglāk organizēt lasīšanas darbības (lai samazinātu nepieciešamo meklēšanas laiku). Šis pirmspeidžeru process tiek izmantots gan sistēmas sāknēšanas laikā, gan kad fona lietojumprogramma tiek parādīts priekšplānā, kad sistēma iziet no hibernācijas režīma.

Atmiņas pārvaldnieks atbalsta iepriekšējas ielādes peidžeru, taču tā tiek ieviesta kā atsevišķs sistēmas komponents. Lappuses netiek ievietotas procesa lapu tabulā; tā vietā tās tiek ievietotas gaidstāves sarakstā, no kuras tās var ātri ievietot procesā (nepiekļūstot diskam).

Nekartotās lapas nedaudz atšķiras – tās netiek inicializētas, lasot no faila. Tā vietā, pirmo reizi piekļūstot nekartētai lapai, atmiņas pārvaldnieks nodrošina jaunu fizisko lapu (pārliecinoties, ka tās saturs drošības apsvērumu dēļ ir aizpildīts ar nullēm). Nākamo lappušu kļūdu gadījumā, iespējams, neatzīmētā lapa ir jāatrod atmiņā vai arī tā ir jānolasa no lapas faila.

Peidžeru pēc pieprasījuma atmiņas pārvaldniekā kontrolē lappušu kļūdas. Katra kļūda izraisa kodola pārtraukumu. Pēc tam kodols izveido no mašīnas neatkarīgu deskriptoru (kas ziņo par notikušo) un nodod to izpildatmiņas pārvaldniekam. Pēc tam atmiņas pārvaldnieks pārbauda piekļuves derīgumu. Ja neizdevusies lapa atrodas apgabalā, kurā nav izdevies, tā meklē adresi VAD sarakstā un atrod (vai izveido) procesa lappušu tabulas ierakstu. Koplietotas lapas gadījumā atmiņas pārvaldnieks izmanto prototipa lapas tabulas ierakstu (saistītu ar segmenta objektu), lai aizpildītu jauno procesa lapas tabulas ierakstu.

Lapas tabulas elementa formāts atšķiras atkarībā no procesora arhitektūras. X86 un x64 procesoriem parādītās lapas elementi ir parādīti attēlā. 11.17. Ja elements ir atzīmēts kā derīgs, tā saturu interpretē aparatūra (lai virtuālo adresi varētu pārtulkot pareizajā fiziskajā lapā). Nerenderētajām lapām ir arī savi elementi, taču tie ir atzīmēti kā nederīgi, un Aparatūra ignorē pārējo elementu. Programmatūras formāts nedaudz atšķiras no aparatūras, un to nosaka atmiņas pārvaldnieks. Piemēram, nerenderētai lapai (kas pirms lietošanas ir jānovieto un jāatiestata) šis fakts tiek atzīmēts lapas tabulas elementā.


Divus svarīgus lapas tabulas ieraksta bitus tieši atjaunina aparatūra. Tie ir piekļuves bits (A) un modificētais bits (D). Šie biti izseko dotās lapas kartēšanas izmantošanu, lai piekļūtu lapai, un to, vai šī piekļuve var mainīt lapu. Tas faktiski uzlabo sistēmas veiktspēju, jo atmiņas pārvaldnieks var izmantot piekļuves bitu, lai ieviestu vismazāk izmantoto (LRU) peidžeru. LRU princips ir tāds, ka tām lapām, kuras ir visilgāk neizmantotas, ir vismazākā iespēja tuvākajā nākotnē tikt atkārtoti izmantotām. Piekļuves bits ļauj atmiņas pārvaldniekam noteikt, vai lapa ir atvērta. "Modificētais" bits norāda atmiņas pārvaldniekam, ka lapa, iespējams, ir modificēta (vai, vēl svarīgāk, tā nav modificēta). Ja lapa nav mainīta kopš tā nolasīšanas no diska, tad atmiņas pārvaldniekam tās saturs nav jāraksta diskā (pirms to izmanto kaut kam citam).

Gan x86, gan x64 arhitektūrā tiek izmantots 64 bitu lappušu tabulas ieraksts (sk. 11.17. attēlu).

Katru lapas defektu var iedalīt vienā no piecām kategorijām:

1. Lapa nav fiksēta.

2. Mēģinājums piekļūt lapai ar atļaujas pārkāpumu.

3. Mēģinājums modificēt kopēšanas un rakstīšanas lapu.

1. Ir nepieciešams palielināt kaudzi.

2. Lapa ir fiksēta, bet dots laiks nav parādīts.

Pirmais un otrais gadījums ir programmēšanas kļūdas. Ja programma mēģina izmantot adresi, kurai nav derīgas kartēšanas, vai mēģina veikt nelikumīgu darbību (piemēram, mēģinot rakstīt tikai lasāmā lapā), to sauc par piekļuves pārkāpumu, un tas parasti izraisa procesa pārtraukšanu. . Piekļuves pārkāpumu bieži izraisa nederīgas rādītāja vērtības, tostarp piekļuve atmiņai, kas ir atbrīvota un atdalīta no procesa.

Trešajam gadījumam ir tādi paši simptomi kā otrajam (mēģinājums rakstīt tikai lasāmā lapā), taču tā darbība ir atšķirīga. Tā kā lapa tika atzīmēta kā kopēšana un rakstīšana, atmiņas pārvaldnieks neziņo par piekļuves pārkāpumu. Tā vietā tas izveido privātu lapas kopiju pašreizējam procesam un pēc tam atgriež vadību pavedienam, kas mēģināja rakstīt lapā. Pavediens atkārto rakstīšanas darbību, kas tagad tiks pabeigta bez lapas kļūdas.

Ceturtais gadījums notiek, kad pavediens nospiež vērtību savā kaudzē un nonāk lapā, kas vēl nav piešķirta. Atmiņas pārvaldnieks to atzīst kā īpašu gadījumu. Kamēr steksam rezervētajās virtuālajās lapās ir vietas, atmiņas pārvaldnieks piegādās jaunas lapas, noņems tās no nulles un kartēs procesā. Kad pavediens atsāks izpildi, tas mēģinās piekļūt vēlreiz, un šoreiz tas būs veiksmīgs.

Un visbeidzot, piektais gadījums ir parasta lapas kļūda. Tomēr tam ir vairākas apakšiespējas. Ja lapa tiek kartēta uz failu, atmiņas pārvaldniekam ir jāaplūko tās datu struktūras (piemēram, ar segmenta objektu saistītā lapas prototipa tabula), lai nodrošinātu, ka atmiņā nav tās kopijas. Ja ir kopija (piemēram, citā procesā, gaidīšanas režīmā vai modificēto lapu sarakstā), viņš to vienkārši padarīs koplietotu (viņam tā var būt jāatzīmē kā kopēšanas-uz-rakstīšanas lapa dariet to, ja domājams, ka izmaiņas netiek kopīgotas). Ja kopijas vēl nav, atmiņas pārvaldnieks piešķirs brīvu fizisko lapu un sagatavos to faila lapas kopēšanai no diska uz to, ja vien tajā brīdī no diska netiek pārsūtīta cita lapa (tādā gadījumā vienkārši jāpagaida, līdz pārsūtīšana ir pabeigta).

Ja atmiņas pārvaldnieks var apstrādāt lapas kļūdu, atrodot lapu atmiņā (nevis nolasot to no diska), kļūdu sauc par mīksto kļūdu. Ja jums ir nepieciešama kopija no diska, tā ir nopietna kļūda. Mīkstās kļūdas ir daudz lētākas, un tām ir neliela ietekme uz lietojumprogrammas veiktspēju (salīdzinājumā ar smagajām kļūdām). Mīkstas kļūdas var rasties, jo koplietotā lapa jau ir saistīta ar citu procesu vai tai vienkārši ir nepieciešama jauna lapa ar nulli. vēlamo lapu tika noņemts no procesa darba kopas, taču pirms atkārtotas izmantošanas tiek vēlreiz vaicāts. Mīkstas kļūdas var rasties arī tāpēc, ka lapas ir saspiestas efektīvs pieaugums fiziskās atmiņas lielums. Lielākajai daļai konfigurāciju centrālais procesors Atmiņa un I/O pašreizējās sistēmās tiek efektīvāk saspiesti, nevis tiek iztērēti dārgai I/O (veiktspējas un jaudas ziņā), kas prasa lapas nolasīšanu no diska.

Ja fiziskā lapa vairs nav kartēta neviena procesa lapu tabulā, tā tiek iekļauta vienā no trim sarakstiem: bezmaksas, modificēta vai rezervēta. Tās lapas, kuras vairs nekad nav vajadzīgas (piemēram, beigu procesa steka lapas), tiek nekavējoties atbrīvotas. Tās lapas, kurās, visticamāk, atkal radīsies lapas kļūda, nonāk vai nu modificētajā sarakstā, vai gaidstāves sarakstā (atkarībā no tā, vai ir iestatīts "modificēts" bits jebkuram lappušu tabulas ierakstam, kurā šī lapa ir parādīta kopš pēdējās lasīšanas no diska) . Lapas no modificētā saraksta galu galā tiks ierakstītas diskā un pēc tam pārvietotas uz rezerves sarakstu.

Atmiņas pārvaldnieks var piešķirt lapas pēc vajadzības (izmantojot brīvo vai rezerves lapu sarakstu). Pirms lapas piešķiršanas un kopēšanas no diska atmiņas pārvaldnieks vienmēr pārbauda rezerves un modificēto lapu sarakstus, lai noskaidrotu, vai lapa jau ir atmiņā. Pārsūtīšanas peidžeru shēma operētājsistēmā Windows pārvērš turpmākās smagās kļūdas par vieglajām kļūdām (lasot lapas, kas varētu būt nepieciešamas, un ievietojot tās gaidstāves lapu sarakstā). Atmiņas pārvaldnieks pats veic nelielu lapošanu uz priekšu - tas piekļūst secīgu lapu grupām (nevis atsevišķām lapām). Papildu lapas nekavējoties tiek ievietotas gaidstāves lapu sarakstā. Tas nav izšķērdīgs, jo atmiņas pārvaldnieka pieskaitāmās izmaksas ir daudz mazākas nekā I/O operāciju veikšanas izmaksas. Visa lappušu kopas lasīšana ir nedaudz dārgāka nekā vienas lapas lasīšana.

Lappuses tabulas elementi attēlā. 11.17 attiecas uz fiziskajiem (nevis virtuālajiem) lappušu numuriem. Lai atjauninātu lapas tabulas ierakstu (un lapas direktoriju), kodolam ir jāizmanto virtuālās adreses. Windows kartē pašreizējā procesa lappušu tabulas un lapu direktorijus uz kodola virtuālo adrešu telpu, izmantojot paškartes elementu lapas direktorijā (11.18. attēls). Kartējot lapas direktorija elementu lapas direktorijā (self-map), iegūstam virtuālās adreses, ar kurām var atsaukties uz lapu direktorija elementiem (11.18. att., a) un lappušu tabulas elementiem (11.18. att., b). Paškarte katram procesam aizņem 8 MB kodola virtuālās adreses (x86 procesoros). Vienkāršības labad attēlā parādīts x86 paškartes elements 32 bitu PTE ierakstiem (Page-Table Entries). Faktiski Windows izmanto 64 bitu PTE ierakstus, tāpēc sistēma var izmantot vairāk nekā 4 GB fiziskās atmiņas priekšrocības. Izmantojot 32 bitu PTE ierakstus, paškartes elements izmanto tikai vienu PDE (lapu direktorija ierakstu) ierakstu lapas direktorijā, un tāpēc tas aizņem tikai 4 MB adrešu, nevis 8 MB.

Jūs esat pievienojis jaunu ierīci, taču tā darbojas lēni, vecā ierīce ir pārtraukusi darboties vai nedarbojas pareizi. Ko darīt šādos gadījumos? Pārinstalēt visu? Tas ir apgrūtinoši, un tas ne vienmēr ir nepieciešams. Kā noskaidrot cēloni un kā to novērst? Ļoti vienkārši. Fakts ir tāds, ka Windows operētājsistēmu saimē un ne tikai, ir zināmsIerīču pārvaldnieks, patiesībā ļoti vajadzīgs un noderīgs menedžeris, ja viņu tā var nosaukt. Šeit viņš ir, viņš mums palīdzēs noskaidrot problēmas cēloni, un mana krāpšanās lapa palīdzēs mums novērst problēmu. Tātad, iepriekš minētajāIerīču pārvaldnieks kļūdu pēdas ierīču darbībā paliek kodu veidā. Zinot kļūdas kodu, nav grūti noteikt problēmas cēloni. Nezinātājam kodi ir tikai nesaprotami un bezjēdzīgi skaitļi. Bet zinošam lietotājam viņi var daudz pastāstīt. Cik vien spēšu, centīšos izgaismot šo tēmu.


Lai skatītu ierīces kļūdas, vispirms jāievada pats ierīču pārvaldnieks. Tas ir darīts šādi. IelogotiesVadības panelis no izvēlnesSākt ( Var,Mans dators , labais taustiņš -Īpašības Ierīču pārvaldnieks, vai arī varat to izdarīt, norādot komanduizpildīt , bet kāpēc visu sarežģīt). Ja ieejam cauriPanelis vadība , tad ceļš ir:Sistēma — Aprīkojums — Ierīču pārvaldnieks . Izvēlieties, ieejot izvēlnēIerīču pārvaldnieks , mūs interesējošās ierīces veids (tastatūra, printeris, modems utt.), veiciet dubultklikšķi uz tā, kā rezultātā mēs redzēsim šajā tipā iekļautās ierīces. Izvēlieties vajadzīgo ierīci un veiciet dubultklikšķi uz tās. Apskatiet sleju cilnē Parvispārīgs, ierīces statuss. Ja radīsies problēmas ar ierīces darbību, tā šeit tiks parādīta kā kļūdas kods. Tātad mēs redzam skaitļus un skaitļus. Ko tie nozīmē? Zemāk es dodu pilns saraksts kļūdas, ar īss apraksts kļūdas un iespējamie veidi likvidēšana. Kļūdas kods ir iezīmēts sarkanā krāsā, tā apraksts zilā krāsā un risinājums melnā krāsā.

1. kodsIestatot ierīci, radās problēma, nē pareizi iestatījumi vai pazudis vadītājs. Noklikšķiniet uz pogas Atjaunināt draiveri , lai palaistu vedniAparatūras atjauninājums . Ja draivera nav vispār, instalējiet to.

3. kodsIerīces draiveris ir bojāts vai nav pietiekami daudz RAM, lai ierīce darbotos pareizi.1. Noņemsim bojāto draiveri un instalēsim jaunu. Lai to izdarītu: Rekvizīti - Draiveris - Dzēst, pēc tam izpildiet vedņa norādījumus. Reboot. Atkal atverasIerīču pārvaldnieks Darbība Atjauniniet aparatūras konfigurāciju un izpildiet meistara norādījumus. 2. Ja problēma ir virtuālās atmiņas trūkums, aizveriet darbojošās lietojumprogrammas, lai atbrīvotu atmiņu. Lai pārbaudītu atmiņas stāvokli, mums jādodas uzUzdevumu pārvaldnieks , lai to izdarītu, nospiediet īsinājumtaustiņuCtrl+Shift+Esc.Mēs varam apskatīt virtuālās atmiņas iestatījumus, noklikšķinot ar peles labo poguMans dators Rekvizīti — Papildu — Veiktspēja — Iestatījumi (Opcijas) . Varat mēģināt palielināt mijmaiņas failu (es aprakstīju, kā tas tiek darīts vienā no maniem iepriekšējiem emuāra rakstiem), taču tas nebūt nav radikāls pasākums. Jums būs jāpalielina RAM. Kā tas tiek darīts, ir atsevišķa tēma, kas neietilpst šīs ziņas ietvaros.

10. kodsReģistra sadaļā ir ierīcei atbilstošs parametrsFailReasonString,kļūdas datos tiek parādīta šī parametra vērtība, tas ir, ja parametra kā tāda nav, tad parādās kļūdas kods, citiem vārdiem sakot, ierīci nevar palaist. Atjauniniet draiveri, kā norādīts iepriekš. Vai arī instalējiet jaunāku.

12. kodsŠai ierīcei nav nepieciešami resursi. Lai to izdarītu, atspējojiet citas darba ierīces, vismaz vienu, izmantojiet problēmu novēršanas vedni, kas, izpildot tā norādījumus, atspējos konfliktējošo ierīci. (Ļaujiet man īsi atgādināt: Rekvizīti - Vispārīgi - Problēmu novēršana.)

14. kodsLai šī ierīce darbotos, ir jārestartē dators.

16. kodsNav iespējams noteikt resursus, kas nepieciešami ierīces darbībai, ierīce nav pilnībā konfigurēta. Ierīcei ir jāpiešķir papildu resursi. Bet to var izdarīt bez problēmām, ja ierīce piederPlug and Play.

Rekvizīti – resursi. Ja resursu sarakstā ir resurss ar zīmi ?, atlasiet to, lai to piešķirtu atlasītajai ierīcei. Ja resursu nevar mainīt, noklikšķiniet uzMainiet iestatījumus , ja šī funkcija nav pieejama, noņemiet atzīmiAutomātiska iestatīšana

18. kodsPārinstalējiet ierīces draiveri. Mēs cenšamies atjaunināt draiveri vai noņemt to un darīt to, kā parādīts piemērā arkods 3.

19. kodsReģistrā nav pietiekami daudz informācijas par ierīces iestatījumiem vai iestatījumi ir bojāti. SkrienTraucējummeklēšanas vednis un izpildiet viņa norādījumus, ja tas nepalīdz, atkārtoti instalējiet ierīci, kā minēts iepriekš. (3. kods). Vai arī, ja tas nepalīdz, lejupielādējietPēdējā zināmā labā konfigurācija. Ja tas nepalīdz, jums ir nepieciešama speciālista palīdzība, tāpat kā jums ir nepieciešams rediģēt sistēmas reģistru. Bez zināšanām un pieredzes jums pašam nekas nav jādara, to jums apstiprinās jebkurš sistēmas administrators. Kurš ir zinošs un spējīgs, tas prot izdarīt pats, bez manis. Un nepieredzējušam cilvēkam labāk nemēģināt. Reģistrs ir operētājsistēmas sirds, un darbības ar to drīkst veikt tikai pieredzējis speciālists vai viņa uzraudzībā. Es nevēlos nevienu aizvainot, bet, ja neesat strādājis ar sistēmas reģistru un ja novērtējat savu datoru, mans padoms ir aizmirst ceļu uz turieni. Es nerakstu profesionāļiem, viņiem tas nav vajadzīgs, bet parastam lietotājam. Es, protams, varu uzrakstīt, kā un ko tur darīt, bet šis būs manuāls skaidrojums un, ja mazākās kļūdas rezultātā sabojāsi datoru, būšu vainīgs es. Man tas nemaz nav vajadzīgs un arī tev.

21. kods Ierīce tiek noņemta no sistēmas, tas ir, operētājsistēma mēģina noņemt ierīci, taču process vēl nav pabeigts.


Apturiet dažas sekundes un nospiediet taustiņu


22. kods Ierīce ir atspējota. Ierīcei jābūt ieslēgtai.Darbība — iespējot un izpildiet turpmākos norādījumus.


24. kods Trūkst ierīces vai tā ir nepareizi uzstādīta, draiveris nedarbojas pareizi, ierīce, iespējams, ir sagatavota noņemšanai. Noņemiet ierīci un instalējiet vēlreiz.


28. kods Nav šofera. Instalējiet draiveri. Lai to izdarītu, jums ir jāatjaunina draiveris, veiciet darbības, kas norādītas koda 1 instrukcijās.


29. kodsIerīce ir atspējota . Jums ir jāļauj ierīcei darboties iestatījumiBIOSIzlasiet ierīces lietošanas instrukcijas.


31. kodsSistēma nevarēja ielādēt šīs ierīces draiverus . Atjauniniet draiverus, kā aprakstīts iepriekš.


32. kodsŠīs ierīces draiveris ir atspējots sistēmas reģistrā . Atinstalējiet un atkārtoti instalējiet draiveri (aprakstīts iepriekš)


33. kodsOperētājsistēma nevar noteikt šim nolūkam nepieciešamos resursus ierīces . Iestatiet ierīci vai nomainiet to.


34. kodsOperētājsistēma nevar noteikt iestatījumus ierīces . Pārskatiet dokumentāciju, kas piegādāta kopā ar aprīkojumu, un manuāli konfigurējiet konfigurāciju cilnē Resursi.


35. kodsDatora programmaparatūrai nav vajadzīgās informācijas, lai tā būtu pareiza ierīces darbība . Nepieciešams atjauninātBIOS.Lai saņemtu norādījumus, kā to izdarīt, sazinieties ar savu piegādātāju vai, vēl labāk, izmantojiet pieredzējuša tehniķa pakalpojumus.


36. kodsLai ierīce darbotos, ir nepieciešams pārtraukums.PCIun ierīce ir konfigurēta, lai pārtrauktuIR,vai otrādi . Iestatījumi ir jāmainaBIOSsazinieties ar pieredzējušu tehniķi.


37. kodsOperētājsistēma neatpazīst šīs ierīces draiveri . Pārinstalējiet draiveri (aprakstīts iepriekš).


38. kodsOS nevar ielādēt ierīces draiveri, jo iepriekšējā draivera versija paliek atmiņā . Jums ir jārestartē dators. Palaidiet problēmu novēršanas vedni, ja tas nesākas (Rekvizīti — Vispārīgi — Traucējummeklēšana) un izpildiet vedņa norādījumus. Pēc tam ir obligāta atsāknēšana.


39. kodsOS nevar ielādēt ierīces draiveri. Vadītājs ir bojāts vai arī tā vispār neeksistē . Pārinstalējiet draiveri, kā aprakstīts iepriekš.


Kods 40Iekārtai nav piekļuves, jo sistēmas reģistrā nav informācijas vai informācija satur kļūdu . Pārinstalējiet draiveri.


41. kodsIerīce nav noteikta . Palaidiet problēmu novēršanas vedni (aprakstīts iepriekš), ja tas nepalīdz, atjauniniet aparatūras konfigurāciju (skatiet iepriekš) vai atjauniniet draiveri. Ja nē, instalējiet vairāk jauna versija vadītājiem.


42. kodsSistēmai jau ir šāds draiveris. Tas ir, ir divi dažādas ierīces ar tādu pašu nosaukumu, iespējams, kļūdas dēļ . Restartējiet datoru.


43. kodsIerīces apturēšana tās darbības problēmu dēļ . Palaidiet problēmu novēršanas vedni un izpildiet tā norādījumus.


44. kodsLietojumprogramma vai pakalpojums ir apturējis jūsu ierīci . Restartējiet datoru.


45. kodsIerīce nav pievienota . Pievienojiet ierīci.


46. ​​kodsŠī kļūda parādās, kad operētājsistēma tiek izslēgta. Jums nekas nav jādara, nākamreiz startējot OS, viss darbosies.


47. kods Ierīce ir sagatavota drošai noņemšanai, bet vēl nav izņemta (piemēram, zibatmiņas disks) . Noņemiet ierīci, pēc tam pievienojiet vēlreiz, restartējiet datoru.


48. kodsIerīce vai drīzāk tās programmatūra ir bloķēta . Atjauniniet draiveri vai instalējiet jaunu.


49. kodsIerīci nevar palaist, jo tai ir liels sistēmas reģistra strops, kas pārsniedz pieļaujamos reģistra parametrus . Noņemiet no reģistra ierīces, kuras netiek izmantotas. To var izdarīt: Ierīču pārvaldnieks - Skats - Rādīt slēptās ierīces. Šeit jūs redzēsit slēptās ierīces, kas nav savienotas ar datoru. Atlasiet ierīces, kuras vēlaties noņemt, noklikšķiniet uz ierīces rekvizīti - Draiveris - Noņemt, pēc tam izpildiet vedņa norādījumus un visbeidzot restartējiet datoru.


Rokasgrāmata vīrusu noņemšanai no datora ar savām rokām. Visas vīrusu noņemšanas metodes faktiski darbojas un tiek pārbaudītas praksē, soli pa solim instrukcija ar ilustrācijām - vienkārši un pieejami pat skolēnam + video pamācības + ultraiso programma lai izveidotu lejupielādētājus + noderīgas saites uz rīkiem cīņā pret vīrusiem. Lejupielādēt arhīvu