Internet ablakok Android

Windows 7 laphiba-memória Mit mondanak az oldalhiba-hibák a memóriában

Memóriakiosztás Windows 9x és Windows NT rendszerben. Windows 7 Resource Monitor. Fedezze fel a memóriával kapcsolatos elemeket és lapokat. A Windows 7 Resource Monitor használata a memóriafoglalás figyelésére. A lapozófájl (virtuális memória) méretének növelése. Memória ellenőrzése Windows segítségével.

3.1. Memóriakiosztás a Windows 9x rendszerben

A Windows 9x egy 32 bites, többszálú operációs rendszer, megelőző többfeladatos kezeléssel és grafikus felhasználói felülettel. Indításukhoz az MS-DOS 7.0-t használják, amely két processzorműködési módot biztosít – valós (az MSDOS.SYS fájlban a BootGUI=0 van írva a szakaszban) és védett (BootGUI=1). A védett mód közvetlenül a Windows 9x rendszerindítása előtt van beállítva, így a processzor a virtuális-fizikai címlapozási mechanizmus segítségével kezeli a memóriát. A virtuális címtér területe 4 kilobyte-os oldalakból áll, amelyeket a RAM-ban vagy a lemezen helyeznek el.

A virtuális címtér alsó címein minden folyamat megosztja, így biztosítva a valós idejű eszközillesztőkkel, Windows rezidens programokkal stb. való kompatibilitást. Ez egyrészt kényelmes, másrészt csökkenti a megbízhatóságot (az egyik az operációs rendszer főbb tulajdonságai), mert bármely folyamat megrongálhatja az ezeken a címeken található összetevőket.

Minden 32 bites Windows alkalmazás a saját címterében fut, azonban a kívánt címekhez való hozzáférés lehetséges, pl. a virtuális címek szervezése nem használja a mikroprocesszorba ágyazott összes hardveres védelmet. A 16 bites programok közös címteret használnak, és egymással szemben is sérülékenyek. A Windows 9x memóriamodell a 3.1. ábrán látható.

Rizs. 3.1. OP disztribúciók a Windows 9x rendszerben

Az alsó 64 KB RAM nem érhető el a 32 bites programok számára, de a 16 bites programok ide írhatják adataikat. A 4 MB alatti címek az egyes alkalmazások címteréhez vannak rendelve, és az összes folyamat megosztja azokat. Ezáltal ez a terület védtelen a véletlen írással szemben.

A Windows 9x működéséhez minimálisan szükséges memóriamennyiség 4 MB, de a gyakorlatban lehetetlen ennyi memóriával dolgozni. oldal fájl , amely a virtuális memória mechanizmust valósítja meg, a Windows könyvtárában található és változó méretű, szükség esetén maga a rendszer módosítja. Méretei beállíthatók a rendszereszközökkel (Vezérlőpult → Rendszer → Teljesítmény → Fájlrendszer), vagy beállíthatók a SYSTEM.INI fájl szakaszában - egy sor, amely jelzi a meghajtót és a fájl nevét:

Pagingfive=c:\PageFile.sys

MinPagingFileSize=65536 (64 MB)

MaxPagingFileSize=262144 (256 MB)

Az első és a második sor határozza meg a fájl nevét és helyét, az utolsó kettő pedig az oldalfájl kezdeti és határméretét KB-ban.

A minimális lapozófájl-méretet a SysMon (rendszerfigyelő) futtatásával érheti el, és a leggyakrabban használt alkalmazások memóriaigényének becsléséhez szükséges paraméterként kiválasztja a lapozófájl méretét és a szabad memóriát.

3.2. Memóriakiosztás a Windows NT rendszerben

A terjesztési séma és a Windows 9x közötti különbségek a következők:

1) a mikroprocesszorban biztosított memóriavédelmi hardver komolyabb használata;

2) minden rendszerprogram modul a saját virtuális címterében található, és az alkalmazási programok nem férhetnek hozzá.

A címterület kiosztása a Windows NT rendszerben az 1. ábrán látható. 3.2.

Rizs. 3.2. OP disztribúciók a Windows NT rendszerben

Az alkalmazási programok számára 2 GB helyi (natív) lineáris (strukturálatlan) címteret foglalnak le (az első 64 KB nem érhető el). Elszigetelve vannak egymástól, és csak a vágólapon (vágólapon), vagy a DDE (Dynamic Data Exchange – dinamikus adatcsere) és az OLE (Object Linking and Embedding) mechanizmusokon keresztül tudnak kommunikálni egymással.

A 2 GB-os terület tetején található a rendszer DLL-ek (dinamikusan linkelt könyvtárak) kódja, amelyek szerverfolyamatként működnek. Ellenőrzik a lekérdezési paraméterek értékeit, végrehajtják a kért függvényt, és az eredményeket visszaküldik a hívó program címterébe.

A 2-4 GB-os címtartományban a rendszer (alacsony szintű) Windows komponensek találhatók (azaz a legmagasabb szintű védelem az illetéktelen hozzáférés ellen: kernel, szálütemező, memóriakezelő).

A 16 bites Windows alkalmazásprogramok esetében a WOW (Windows On Windows) munkamenetek preemptív többfeladatos módban valósulnak meg külön-külön a saját címtereikben vagy közösen egy megosztott címtérben.

Az alkalmazás indításakor létrejön egy saját információs szerkezetű folyamat, amelyen belül a feladat elindul. Más feladatokat is futtathat. Ennek eredményeként többfeladatos működési mód szerveződik.

A memóriakezelést (kiosztás, foglalás, felszabadítás, lapozás) a Virtual Memory Manager (VMM) végzi. Minden virtuális oldal átkerül egy fizikai oldalra - egy oldalkeretre (oldalkeretre), amelyet a kezdeti állapotban nullákkal töltenek ki (ez a C2 biztonsági rendszerek szabványának fő követelménye, amely meghatározza, hogy a korábbi tartalmat nem használhatják fel mások. folyamatok). Az oldalletöltéshez szükséges hely a Pagefile.sys oldalfájlban van lefoglalva, amely egy lefoglalt lemezterület.

A Windows NT teljes memóriája fel van osztva fenntartott(a folyamatok dinamikus használatához feladatok végrehajtása során), dedikált(a Pagefile.sys-ben lefoglalt kirakodáshoz) és elérhető(a szabad memória többi része).

      Virtuális memória a Windowsban

A Windows-alapú rendszerek lelassításának leggyakoribb oka a fizikai memória feltöltése. Ugyanakkor a Windows megkezdi az úgynevezett "lapozást" (lapozást) - a kód- és programadatok blokkjait (minden egyes ilyen blokkot oldalnak - oldalnak neveznek) a fizikai memóriából a merevlemezre. A lapozófájl időnkénti elérése normális, és nem rontja a rendszer teljesítményét, de a lemezen lévő fájlból származó adatok gyakori kérése jelentősen lelassíthatja a rendszer általános sebességét. Ez a probléma különösen akkor válik észrevehetővé, ha több memóriaigényes program között vált egy olyan számítógépen, amely nem rendelkezik elegendő fizikai memóriával. Emiatt a lemez szinte folyamatosan használatban van, mert a rendszer arról próbál adatokat "pumpálni" a memóriába és vissza.

Ha a lefoglalt memória teljes mennyisége meghaladja a fizikai memória teljes mennyiségét, a Windowsnak oldalakat kell "pumpálnia" a gyors RAM és a sokkal lassabb virtuális memória között a lapfájlban, lelassítva a rendszert.

A Windows XP telepítése során a rendszer automatikusan létrehoz egy cserefájlt a gyökérmappában ugyanazon a meghajtón, ahol a Windows rendszerfájlok találhatók. A lapozófájl méretét a rendszerben lévő fizikai memória mennyisége határozza meg. Alapértelmezés szerint az oldalfájl minimális mérete a fizikai memória 1,5-szerese, a maximális méret pedig a méret háromszorosa. A lapozófájl az Intéző ablakban látható, ha bekapcsolja a rejtett és rendszerfájlok megjelenítési módját (3.3. ábra).

Rizs. 3.3. Rejtett és rendszerfájlok megjelenítésének engedélyezése

Általában a Windows operációs rendszer maga állítja be az optimális virtuális memória mennyiséget és ez a legtöbb feladathoz elegendő, de ha a számítógépen sok memóriát igénylő alkalmazás fut, akkor a virtuális memória mennyisége módosítható.

Ehhez hajtsa végre a következő műveletsort:

1. Jelentkezzen be egy fiókkal a Rendszergazdák csoportból, és nyissa meg a „Vezérlőpult – Rendszer” ablakot.

2. A "Speciális" fülön kattintson a "Beállítások" gombra a "Teljesítmény" részben (3.4. ábra).

3. A "Teljesítménybeállítások" párbeszédpanelen válassza az "Advanced" fület, és kattintson a "Change" gombra (3.5. ábra) a "Virtuális memória" párbeszédpanel megjelenítéséhez, ahogy az a 3.5. ábrán látható. 3.6 Windows XP esetén és a 3. ábrán. 3.7 Windows 7-hez.

Az aktuális lapozófájl-beállítások a „Összes lapozófájl mérete az összes meghajtón” mezőben jelennek meg.

4. A párbeszédpanel tetején található listából válasszon ki egy meghajtót az adott meghajtó beállításainak konfigurálásához.

A következő beállításokat módosíthatja:

- Különleges méret. Írjon be egy értéket a mezőbe eredeti méret a pagefile.sys fájl kezdeti méretének beállításához a megadott meghajtón (megabájtban). A terepen Maximális méretírjon be egy számot, amely nem kisebb, mint az érték a mezőben eredeti méret, de legfeljebb 4096 MB (4 GB).

- Méret a rendszer választása szerint. Válassza ezt az elemet a dinamikus lapozófájl méretkezelésének engedélyezéséhez ezen a meghajtón. Válassza ezt a lehetőséget, ha nem kívánja módosítani a Windows által kínált alapértelmezett beállításokat.

- Nincs cserefájl. Használja minden olyan meghajtóhoz, ahol nincs szüksége swap fájlra. Győződjön meg arról, hogy a swap fájl legalább egy meghajtón van.

5. A módosítások elvégzése után kattintson a gombra Kérdez változások rögzítéséhez.

6. Ismételje meg a 4. és 5. lépést más meghajtókkal (ha szükséges). Kattintson az OK gombra a párbeszédpanel bezárásához, ha végzett.

Rizs. 3.4. "Opciók" gomb a megtekintéshez és/vagy

a virtuális memória beállításainak módosítása

Rizs. 3.5. A "Change" gombbal léphet a virtuális memória beállításainak módosítására Windows XP (balra) és Windows 7 rendszerben

Rizs. 3.6. Nézetablak és beállítások a virtuális memória méretéhez

Rizs. 3.7. Ablak a virtuális memória megtekintésére és méretének beállítására a Windows7 rendszerben

Ha számítógépe egynél több fizikai meghajtóval rendelkezik, a legjobb, ha a lapozófájlt erre helyezi a leggyorsabb, és célszerű, ha a Windows rendszerfájlok egy másik meghajtón találhatók. Még jobb, ha a swap fájlt több részre osztja fizikai lemezeket, mert a lemezvezérlő több írási és olvasási kérést tud párhuzamosan kezelni.

Ne próbálja meg egy fizikai meghajtó több logikai meghajtójára elhelyezni a lapozófájlt!!!

Ha a rendszerben egy merevlemez van C, D és E partíciókra particionálva, és a lapfájl több partícióra van felosztva, akkor a rendszer akár le is lassulhat, mert ilyen konfigurációban a merevlemez mágneses fejeinek több területről olvassa be az adatokat, nem pedig egymás után a lemez egy területéről.

Ha csökkenti az oldalfájl minimális vagy maximális méretét, és új oldalfájlt hoz létre a lemezen, a rendszert újra kell indítani, hogy a változtatások érvénybe lépjenek. Az oldalfájl méretének növelése általában nem igényli a számítógép újraindítását.

Ha sok fizikai memóriája van, kísértést érezhet a swap fájl teljes letiltására. Ne csináld! !!

A Windows XP-t úgy tervezték, hogy a lapozófájlt bizonyos kernelfeladatok végrehajtására használják, így egyes harmadik féltől származó programok megfogyatkozási memóriát jelezhetnek, amikor megpróbálják teljesen letiltani a virtuális memóriát.

A Windows addig nem használja a swap fájlt, amíg nincs rá szükség, így a virtuális memória letiltása nem javítja a teljesítményt!!!

A Windows szükség szerint dinamikusan növelheti a lapozófájl méretét. Ez a funkció csak akkor működik, ha a " Rendszer választható méret”, valamint ha a lapozófájl aktuális méreténél nagyobb maximális méretet állít be.

A Windows korábbi verzióival szerzett tapasztalatok alapján egyes felhasználók megpróbálnak fix méretű lapozófájlt létrehozni azonos kezdeti és maximális mérettel. Elméletileg ennek javítania kell a teljesítményen, mivel kiküszöböli az oldalfájlok töredezettségének lehetőségét. A swap alrendszer azonban úgy van kialakítva, hogy a gyakorlatban egy fájl csak nagy lemezterületet foglal el, ami minimálisra csökkenti a töredezettséget. A teljesítmény enyhe csökkenését észlelheti, amikor a Windows növeli a lapozófájl méretét, de ez egyszeri művelet, és semmilyen módon nem befolyásolja az átlagos teljesítményt.

      Memóriahasználat szabályozása Windows rendszerben

A legegyszerűbb módja annak, hogy megtudja, mennyi RAM van felhasználva egy adott időpontban, ha megnyitja a Feladatkezelőt a ++ megnyomásával, és a Teljesítmény fülre lép (3.8. ábra). A Windows XP "Teljesítmény" lapján található információk részletes leírása a táblázatban található. 3.1.

3.1. táblázat. Feladatkezelő adatok visszafejtése

A Windows7 „Teljesítmény” lapja jelentős újításokat tartalmaz a Windows XP megfelelő Feladatkezelő lapjához képest.

A "Physical Memory" szakasz "Összesen" oszlopában lévő szám a rendszer RAM-jának teljes mennyiségét jelzi. A Gyorsítótárazott oszlop a rendszererőforrások által nemrégiben használt fizikai memória mennyiségét mutatja. A gyorsítótárban marad, ha a rendszernek újra szüksége lenne rá, de elérhető más folyamatok számára. Az új oszlop „Elérhető” (Elérhető) jelzi a jelenleg nem használt fizikai memória mennyiségét, az „Ingyenes” (Free) oszlopban pedig a gyorsítótár által használt, de hasznos információkat nem tartalmazó memória mennyiségét.

A Kernel Memory szakasz két oszlopot tartalmaz – lapozva és nem lapozva. Ezek együtt jelzik, hogy a kernel mennyi memóriát használ. A lapozható a virtuális memória, a nem lapozható pedig a fizikai.

A "Rendszer" (Rendszer) oszlopban a folyamatok összetett összetevőihez kapcsolódó "Leírók" (Handles) és "Threads" (Threads) jelentek meg. A "Leírók" oszlop az aktuálisan futó folyamatok által használt objektumazonosítók (leírók) számát jelzi. A "Szálak" oszlop a nagyobb folyamatokon belül futó alfolyamatok számát mutatja. A "Folyamatok" oszlopban lévő szám természetesen a futó folyamatok teljes számát jelzi, ami a "Folyamatok" fülön látható.

Az Up Time oszlop azt mutatja, hogy mennyi idő telt el a számítógép utolsó indítása óta. A Commit oszlop információkat tartalmaz a lapozófájlról. Az első szám a jelenleg használt fizikai és virtuális memória teljes mennyiségét jelzi, a második szám pedig a számítógép teljes memóriáját általában.

Még részletesebb információkhoz juthat az "Erőforrás-figyelő" gombra kattintva és a "Memória" fül kiválasztásával (3.9. ábra).

Rizs. 3.9. A Windows Resource Monitor ablak Memória lapja

A "Memória" fülön található egy "Processes" táblázat, amely felsorolja az összes futó folyamatot, és az egyes folyamatokhoz használt memóriára vonatkozó információk több kategóriába vannak osztva (3.10. ábra).

Rizs. 3.10. "Folyamatok" táblázat

egy oszlopban" Kép» a folyamat végrehajtható fájljának nevét jelzi. Az alkalmazások által elindított folyamatok nagyon könnyen felismerhetők - például a "Winword.exe" folyamat nyilvánvalóan a Word szövegszerkesztőhöz tartozik. Az „svchost.exe” nevű folyamatok különféle operációs rendszer-szolgáltatásokat jelentenek. A szolgáltatás neve a folyamat neve mellett zárójelben van megadva.

egy oszlopban" Folyamatazonosító» a folyamat számát jelzi – a számok egyedi kombinációja, amely lehetővé teszi a futó folyamat azonosítását.

A " oszlopban Befejezve» a rendszer által ehhez a folyamathoz fenntartott virtuális memória mennyiségét jelzi kilobájtban. Ez magában foglalja mind a használt fizikai memóriát, mind a lapozófájlban tárolt oldalakat.

A " oszlopban Működő készlet» a folyamat által jelenleg használt fizikai memória mennyiségét jelzi kilobájtban. A munkakészlet megosztott és privát memóriából áll.

egy oszlopban" Tábornok» megadja a fizikai memória mennyiségét kilobájtban, amelyet ez a folyamat megoszt másokkal. Egyetlen memóriaszegmens vagy csereoldal használata a kapcsolódó folyamatokhoz memóriaterületet takarít meg. Ebben az esetben az oldalnak csak egy példánya van fizikailag tárolva, amely azután leképeződik az azt elérő többi folyamat virtuális címterére. Például a rendszer-DLL-ek által kezdeményezett összes folyamat – Ntdll, Kernel32, Gdi32 és User32 – megosztott memóriát használ.

A " oszlopban Magán» a fizikai memória mennyiségét jelzi kilobájtban, amelyet kizárólag ez a folyamat használ fel. Ez az érték lehetővé teszi annak meghatározását, hogy egy adott alkalmazásnak mennyi memóriára van szüksége.

A " oszlopban Oldal megtelt Memória hibák/mp.' a memóriahiányok átlagos számát mutatja másodpercenként az utolsó percben. Ha egy folyamat a jelenleg rendelkezésre állónál több fizikai memóriát próbál használni, a rendszer az adatok egy részét a memóriából a lemezre írja – a lapozófájlba. A lemezre mentett adatokhoz való utólagos hozzáférést memóriahiánynak nevezzük.

Amikor az alkalmazások elindulnak, és a fájlokkal dolgoznak, a memóriakezelő nyomon követi az egyes folyamatok munkakészletének méretét, és rögzíti a további memória-erőforrásokra vonatkozó kéréseket. Ahogy egy folyamat munkakészlete növekszik, a diszpécser ezeket a kéréseket a kernel és más folyamatok igényeihez igazítja. Ha nincs elég elérhető címterület, a diszpécser csökkenti a munkakészletet az adatok memóriából lemezre mentésével.

Később, amikor ezeket az adatokat a lemezről olvassa, egy lap megfogyatkozott memória hiba lép fel. Ez teljesen normális, de ha a hibák egyidejűleg lépnek fel a különböző folyamatokban, akkor a rendszernek további időre van szüksége az adatok lemezről történő olvasásához. A túl gyakori memóriahiba miatti lapozás csökkenti a rendszer teljesítményét. Ez minden alkalmazás váratlan lassulásában nyilvánul meg, amely aztán váratlanul leáll. A lassulás oka az adatok aktív újraelosztása a fizikai memória és a lapozás között.

Ebből az a következtetés következik, hogy ha egy adott folyamathoz túl gyakran, sőt rendszeresen fordulnak elő lapon kívüli hibák, akkor a számítógépnek nincs elég fizikai memóriája.

A gyakori memóriahiányt okozó folyamatok nyomon követésének megkönnyítése érdekében zászlókkal jelölheti meg őket. Ezzel a kiválasztott folyamatok a lista elejére kerülnek, és az oldal elfogyott a memória hibagrafikonja narancssárga görbével jelenik meg.

Ne feledje, hogy a memóriafoglalás számos más tényezőtől is függ, és az oldalon kívüli hibák figyelése nem a legjobb vagy az egyetlen módja a problémák azonosításának. Azonban jó kiindulópontként szolgálhat a megfigyeléshez.

A Folyamatok táblázat részletes információkat tartalmaz az egyes folyamatok közötti memóriaelosztásról, míg a Fizikai memória táblázat átfogó képet ad a RAM használatáról. Ennek kulcseleme az ábrán látható egyedi hisztogram. 3.11.


3.11. ábra. A Fizikai memória táblázat oszlopdiagramja általános képet ad a memóriafoglalásról a Windows 7 rendszerben

A hisztogram minden szakasza saját színnel van megjelölve, és a memórialapok egy meghatározott csoportját képviseli. A rendszer használata során a memóriakezelő a háttérben mozgatja az adatokat e csoportok között, fenntartva a fizikai és a virtuális memória kényes egyensúlyát az összes alkalmazás hatékony működése érdekében. Nézzük meg közelebbről a hisztogramot.

A bal oldalon a szakasz látható Fenntartott felszerelés”, szürkével jelölve: ez a csatlakoztatott berendezés igényeihez lefoglalt memória, amelyet az operációs rendszerrel való interakcióhoz használ. A hardver számára fenntartott memória zárolva van, és a memóriakezelő nem fér hozzá. Általában a hardverhez lefoglalt memória mennyisége 10 és 70 MB között van, de ez a szám a rendszer konkrét konfigurációjától függ, és esetenként akár több száz megabájtot is elérhet.

A lefoglalt memória mennyiségét befolyásoló összetevők a következők:

Alaplapi komponensek – mint például az Advanced Programmable Input/Output Interrupt Controller (APIC);

Hangkártyák és egyéb olyan eszközök, amelyek memória-leképezett bemenetet/kimenetet hajtanak végre;

PCI Express (PCIe) busz;

Videokártyák;

Különféle lapkakészletek;

Flash meghajtók.

szakasz használt”, zölddel jelölt, a rendszer, az illesztőprogramok és a futó folyamatok által használt memória mennyiségét jelzi. A felhasznált memória mennyisége a " Teljes» mínusz a mutatók összege « Megváltozott», « Elvárás"És" Ingyenes". Viszont az érték Teljes" a " mutatója " Telepítve» mínusz a jelző « Fenntartott felszerelés».

Új eszközt csatlakoztatott, de az nem siet dolgozni, vagy a régi eszköz leállt, vagy nem működik megfelelően. Mi a teendő ezekben az esetekben? Újratelepít mindent? Ez egy probléma, és nem mindig szükséges. Hogyan lehet megtudni, mi az oka, és hogyan lehet megszüntetni? Nagyon egyszerű. A helyzet az, hogy a Windows család operációs rendszerében és nem csak, van néhányEszközkezelő, valójában egy nagyon szükséges és hasznos menedzser, ha lehet annak nevezni. Itt van, segít kideríteni, mi a probléma oka, és a csalólapom megoldja a problémát. Tehát a fentiekbenEszközkezelő az eszközök működésében hibák nyomai vannak kódok formájában. A hibakód ismeretében könnyű meghatározni a probléma okát. Az avatatlanok számára a kódok csak érthetetlen és értelmetlen számok. De egy hozzáértő felhasználónak sokat tudnak mondani. Minden erőmmel azon leszek, hogy némi fényt derítsek erre a témára.


Az eszközhibák megtekintéséhez először magát az Eszközkezelőt kell megadnunk. Ez így történik. BejelentkezésKezelőpanel menübőlRajt ( tud,Az én egy számítógép , Jobb klikkTulajdonságok Eszközkezelő, és a be parancs feladatán keresztül is lehetségesvégrehajtani , de minek bonyolítani a dolgokat). Ha átlépünkPanel menedzsment , akkor az elérési út:Rendszer - Hardver - Eszközkezelő . Válasszon a menübe való belépésselEszközkezelő , a minket érdeklő készülék típusa (billentyűzet, nyomtató, modem stb.), kattintson rá duplán, ennek eredményeként az ebbe a típusba tartozó eszközöket fogjuk látni. Válassza ki a szükséges eszközt, és kattintson rá duplán. Megnézzük a Névjegy lap oszlopátáltalános, készülék állapota. Ha probléma van a készülék működésével, az itt hibakódként jelenik meg. Tehát számokat és számokat látunk. Mit képviselnek. Az alábbiakban bemutatom a hibák teljes listáját, a hiba rövid leírásával és a lehetséges megoldásokkal. A hibakód pirossal van kiemelve, leírása kékkel, az elhárítás pedig feketével.

1. kódProbléma van az eszköz beállításával, a beállítások nem megfelelőek, vagy hiányzik az illesztőprogram. Kattintson a gombra Illesztőprogram frissítése , a varázsló elindításáhozHardver frissítés . Ha egyáltalán nincs illesztőprogram, telepítse.

3. kódAz eszközillesztő megsérült, mivel opcióként nincs elég RAM az eszköz megfelelő működéséhez.1. Távolítsa el a sérült illesztőprogramot, és telepítsen egy újat. Ehhez: Tulajdonságok - Illesztőprogram - Törlés, majd kövesse a varázsló utasításait. Újraindítás. Újra nyitunkEszközkezelő Akció Frissítse a hardver konfigurációját és kövesse a mester utasításait. 2. Ha a probléma a virtuális memória hiánya, zárja be a futó alkalmazásokat a memória felszabadításához. A memória állapotának ellenőrzéséhez be kell jutnunkFeladatkezelő , ehhez nyomja meg a billentyűkombinációtCtrl+Shift+Esc.A virtuális memória beállításait a jobb gombbal kattintva láthatjukA számítógépem Tulajdonságok - Speciális - Teljesítmény - Beállítások (paraméterek) . Megpróbálhatja növelni a swap fájlt (a blogom egyik korábbi cikkében leírtam, hogy ez hogyan történik), de ez messze nem drasztikus intézkedés. Növelnie kell a RAM-ot. Hogy ez hogyan történik, az egy külön téma, amely túlmutat e bejegyzés keretein.

10. kódA rendszerleíró kulcsnak van egy eszközspecifikus beállításaFailReasonString,ennek a paraméternek az értéke jelenik meg a hibaadatokban, vagyis ha nincs paraméter mint olyan, akkor hibakód jelenik meg, vagyis a készülék nem indítható el. Frissítse az illesztőprogramot a fentiek szerint. Vagy telepítsen egy újabbat.

12. kódEhhez az eszközhöz nincs szükség erőforrás-készletre. Ehhez kapcsolja ki a többi futó eszközt, legalább egyet, használja a hibaelhárító varázslót, amely, ha követi az utasításait, letiltja az ütköző eszközt. (Röviden, hadd emlékeztesselek: Tulajdonságok – Általános – Hibaelhárítás.)

14. kódAz eszköz működéséhez a számítógép újraindítása szükséges.

16. kódAz eszköz működéséhez szükséges erőforrások azonosítása nem lehetséges, az eszköz nincs teljesen konfigurálva. További erőforrásokat kell hozzárendelnie az eszközhöz. De ez probléma nélkül megtehető, ha az eszköz tartozikPlug and Play.

Tulajdonságok – Erőforrások. Ha az erőforrások listájában van egy „?” jelű erőforrás, válassza ki, hogy hozzárendelje a kiválasztott eszközhöz. Ha az erőforrás nem módosítható, kattintson a gombraBeállítások megváltoztatása , ha ez a funkció nem elérhető, törölje a jelölést a négyzetbőlAutomatikus beállítás

18. kódTelepítse újra az eszközillesztőt. Megpróbáljuk frissíteni vagy eltávolítani az illesztőprogramot, és megtesszük a példában leírtak szerintkód 3.

19. kódNincs elegendő információ a beállításjegyzékben az eszköz beállításairól, vagy a beállítások sérültek. FussHibaelhárító varázsló és kövesse az utasításait, ez nem fog segíteni - telepítse újra az eszközt, ahogy fentebb említettük. (3-as kód). Vagy ha ez nem működik, töltse leUtolsó ismert jó konfiguráció. Ha ez nem segít, akkor szakember segítségére van szükség, hiszen a rendszerleíró adatbázis szerkesztése szükséges. Tudás és tapasztalat híján önerőből ott nincs mit tenni, ezt bármelyik rendszergazda megerősíti helyetted. Tudja és képes, tudja, hogyan kell csinálni nélkülem. A tapasztalatlanoknak pedig jobb, ha nem próbálkoznak. A rendszerleíró adatbázis az operációs rendszer szíve, és csak tapasztalt szakember vagy az ő irányítása alatt végezhet műveleteket rajta. Semmiképpen nem akarok megbántani senkit, de ha nem dolgozott a rendszerleíró adatbázissal, és kedves számodra a számítógéped, azt tanácsolom, hogy felejtsd el az utat. Nem szakembereknek írok, nekik nem kell, hanem átlag felhasználónak. Természetesen leírhatom, hogyan és mit csináljak ott, de ez majd az ujjakon lesz a magyarázat, és ha a legkisebb hiba következtében megrongálod a számítógépedet, akkor én leszek a hibás. Egyáltalán nincs rá szükségem, és neked sem.

21. kód Az eszköz eltávolításra kerül a rendszerből, vagyis az operációs rendszer megpróbálja eltávolítani az eszközt, de a folyamat még nem fejeződött be.


Álljon meg néhány másodpercre, és nyomja meg a gombot


22. kód A készülék le van tiltva. A készüléket be kell kapcsolni.Művelet – Engedélyezés és kövesse a további utasításokat.


24. kód Az eszköz hiányzik vagy hibásan van telepítve, az illesztőprogram meghibásodott, lehet, hogy az eszköz előkészítve az eltávolításra. Távolítsa el az eszközt, és telepítse újra.


28. kód Nincs sofőr. Telepítse az illesztőprogramot. Ehhez frissítenie kell az illesztőprogramot, a lépések megegyeznek az 1-es kód utasításaival.


29. kódLetiltott eszköz . Engedélyeznie kell a készülék működését beállításokBIOS,olvassa el a készülék használati útmutatóját.


31. kódA rendszer nem tudott illesztőprogramokat betölteni ehhez az eszközhöz. . Frissítse az illesztőprogramokat a fent leírtak szerint.


32. kódAz eszköz illesztőprogramja le van tiltva a rendszerleíró adatbázisban . Távolítsa el és telepítse újra az illesztőprogramot (a fent leírtak szerint)


33. kódAz operációs rendszer nem tudja meghatározni az ehhez szükséges erőforrásokat eszközöket . Állítsa be a készüléket vagy cserélje ki.


34. kódAz operációs rendszer nem tudja meghatározni a beállításokat eszközöket . Tekintse át a mellékelt hardverdokumentációt, és konfigurálja manuálisan az Erőforrások lapon.


35. kódA PC firmware nem rendelkezik a megfelelő információval készülék működése . Frissíteni kellBIOS.Az erre vonatkozó utasításokért forduljon a szállítóhoz, de jobb, ha tapasztalt kézműves szolgáltatásait veszi igénybe.


36. kódA készülék működéséhez megszakítás szükséges.PCI,és a készülék megszakításra van állítvaegy,Vagy fordítva . Módosítani kell a beállításokatBIOS,forduljon tapasztalt mesterhez.


37. kódAz operációs rendszer nem ismeri fel az eszköz illesztőprogramját. . Telepítse újra az illesztőprogramot (lásd fent).


38. kódAz operációs rendszer nem tudja betölteni az eszköz illesztőprogramját, mert az illesztőprogram előző verziója a memóriában marad . Újra kell indítania a számítógépet. Futtassa a Hibaelhárító varázslót, ha nem indul el (Tulajdonságok - Általános - Hibaelhárítás), és kövesse a varázsló utasításait. Kötelező újraindítás után.


39. kódAz operációs rendszer nem tudja betölteni az eszközillesztőt. Az illesztőprogram sérült vagy egyáltalán nem . Telepítse újra az illesztőprogramot a fent leírtak szerint.


40. kódA berendezéshez nincs hozzáférés, mivel a rendszerleíró adatbázisban nincs információ, vagy az információ hibát tartalmaz . Telepítse újra az illesztőprogramot.


41. kódAz eszköz nem észlelhető . Futtassa a Hibaelhárító varázslót (lásd fent), ha nem segít, frissítse a hardverkonfigurációt (lásd fent) vagy frissítse az illesztőprogramot. Ha nem, kérjük, telepítse az illesztőprogram újabb verzióját.


42. kódA rendszer már rendelkezik ilyen meghajtóval. Vagyis két különböző eszköz van azonos névvel, valószínűleg hiba miatt . Indítsa újra a számítógépet.


43. kódA készülék leállítása működési problémák miatt . Futtassa a Hibaelhárító varázslót, és kövesse az utasításait.


44. kódEgy alkalmazás vagy szolgáltatás leállította az eszközt . Indítsa újra a számítógépet.


45-ös kódAz eszköz nincs csatlakoztatva . Csatlakoztassa a készüléket.


46. ​​kódEz a hiba akkor jelenik meg, amikor az operációs rendszer leáll. Semmit nem kell tenni, az operációs rendszer következő indításakor minden működni fog.


47. kód A készüléket előkészítették a biztonságos eltávolításra, de még nem távolították el (pl. vaku) . Távolítsa el az eszközt, majd dugja vissza, indítsa újra a számítógépet.


48-as kódAz eszköz, vagy inkább annak szoftvere le van tiltva . Frissítse az illesztőprogramot, vagy telepítsen egy újat.


49. kódAz eszközt nem lehet elindítani, mert nagy rendszerleíró adatbázisa van, amely meghaladja a megengedett beállításjegyzék-beállításokat . Törölje a nem használt eszközöket a rendszerleíró adatbázisból. Ezt megteheti: Eszközkezelő - Nézet - Rejtett eszközök megjelenítése. Itt olyan rejtett eszközöket láthat, amelyek nem csatlakoznak a számítógéphez. Válassza ki az eltávolítani kívánt eszközöket, kattintson az eszköz tulajdonságaira - Illesztőprogram - Eltávolítás, majd kövesse a varázsló utasításait, és végül indítsa újra a számítógépet.


Kézikönyv a vírusok saját kezű eltávolításához a számítógépről. Minden valóban működő és a gyakorlatban bevált víruseltávolító módszer, lépésről lépésre, illusztrációkkal ellátott utasítások - egyszerű és még egy iskolás számára is elérhető + oktatóvideók + ultraiso program bootloader létrehozásához + hasznos linkek a vírusok elleni küzdelem eszközeihez. Archívum letöltése

Amikor egy folyamat elindul a Windows rendszerben, az EXE- és DLL-fájlokat megjelenítő oldalak közül sok már a memóriában lehet, mert más folyamatok használják őket. Az írható képoldalak "írásra másolás" címkével vannak ellátva, így megoszthatók mindaddig, amíg módosítani kell őket. Ha az operációs rendszer felismer egy már futó EXE-t, meg tudja írni az oldalhivatkozási mintát (a Microsoft által Super-Fetch-nek nevezett technikával). Ez a technológia sok szükséges oldalt megpróbál előre letölteni (bár a folyamat még nem kapott oldalhibákat rajtuk). Ez csökkenti az alkalmazások indításának késleltetését (az oldalak lemezről történő olvasása rá van hárulva a képek inicializálási kódjának végrehajtására). Ez a technológia javítja a lemezkimeneti teljesítményt azáltal, hogy megkönnyíti a lemezmeghajtók számára az olvasási műveletek összehangolását (a szükséges keresési idő csökkentése érdekében). Ezt az előzetes letöltési folyamatot a rendszer a rendszerindítás során is használják, valamint amikor egy háttéralkalmazás kerül előtérbe, és amikor a rendszer visszatér a hibernált állapotból.

A továbbítási lapozást a memóriakezelő támogatja, de külön rendszerkomponensként valósítja meg. A kicserélt oldalak nem kerülnek be a folyamat oldaltáblázatába, hanem egy készenléti listába kerülnek, ahonnan gyorsan beilleszthetők a folyamatba (lemezelérés nélkül).

A leképezetlen oldalak némileg különböznek egymástól – nem fájlból való kiolvasással inicializálódnak. Ehelyett egy leképezetlen oldal első elérésekor a memóriakezelő új fizikai oldalt biztosít (biztonsági okokból ügyelve arra, hogy annak tartalma nulla legyen). Későbbi oldalhibák esetén előfordulhat, hogy a leképezetlen oldalt meg kell találni a memóriában, vagy ki kell olvasni a swap fájlból.

Az igény szerinti lapozást a memóriakezelőben az oldalhibák vezérlik. Minden hiba megszakítást okoz a kernelben. A kernel ezután létrehoz egy gépfüggetlen leírót (ami jelenti a történteket), és átadja a futásidejű memóriakezelőnek. A memóriakezelő ezután ellenőrzi a hozzáférés érvényességét. Ha a sikertelen oldal a véglegesített területre esik, akkor megkeresi a címet a VAD listában, és megkeresi (vagy létrehozza) a folyamat oldaltábla bejegyzését. Megosztott oldal esetén a memóriakezelő a prototípus laptábla bejegyzést (a szegmensobjektumhoz társítva) használja az új folyamatlaptábla bejegyzés feltöltéséhez.

Az oldaltábla bejegyzési formátuma a processzor architektúrától függően eltérő. x86 és x64 processzorok esetén a megjelenített oldal elemei a 2. ábrán láthatók. 11.17. Ha egy elem érvényesként van megjelölve, akkor annak tartalmát a hardver értelmezi (hogy a virtuális cím érvényes fizikai oldalra fordítható legyen). A rendereletlen oldalaknak is megvannak a maguk elemei, de ezek érvénytelennek vannak jelölve, és a hardver figyelmen kívül hagyja az elem többi részét. A szoftver formátuma kissé eltér a hardveres formátumtól, és a memóriakezelő határozza meg. Például egy leképezetlen oldal esetében (amelyet használat előtt el kell helyezni és nullázni kell) ezt a tényt az oldaltábla bejegyzésében fel kell jegyezni.


Az oldaltábla bejegyzésének két fontos bitjét közvetlenül a hardver frissíti. Ezek a hozzáférési bit (A) és a megváltoztatott bit (D). Ezek a bitek nyomon követik egy adott oldalleképezés használatát az oldal eléréséhez, és azt, hogy az oldal módosítható-e ezzel a hozzáféréssel. Ez valóban javítja a rendszer teljesítményét, mivel a memóriakezelő a hozzáférési bitet használhatja a legkevésbé használt (LRU) lapozás megvalósítására. Az LRU elve az, hogy a leghosszabb ideig nem használt oldalak a legkevesebb eséllyel újrafelhasználhatók a közeljövőben. A hozzáférési bit lehetővé teszi a memóriakezelő számára, hogy megállapítsa, hogy az oldalt elérték-e. A "módosított" bit azt jelzi a memóriakezelőnek, hogy az oldalt módosították (vagy ami még fontosabb, nem módosították). Ha az oldalt nem módosították a lemezről való olvasás óta, akkor a memóriakezelőnek nem kell a tartalmát lemezre írnia (mielőtt másra használná).

Mind az x86, mind az x64 architektúra 64 bites oldaltábla bejegyzést használ (lásd: 11.17. ábra).

Minden oldalhiba öt kategória valamelyikébe sorolható:

1. Az oldal nincs rögzítve.

2. Próbálja meg elérni az engedélyt megsértő oldalt.

3. Próbálja meg módosítani a másolás írásra oldalt.

1. Növelni kell a köteget.

2. Az oldal rögzített, de jelenleg nem jelenik meg.

Az első és a második eset programozási hiba. Ha egy program olyan címet próbál meg használni, amelynek nincs érvényes leképezése, vagy illegális műveletet próbál végrehajtani (például csak olvasható oldalra próbál írni), ezt hozzáférési jogsértésnek nevezzük, és általában a a folyamat. A hozzáférés megsértése gyakran érvénytelen mutatóértékek eredménye, beleértve a felszabadított és a folyamatból leválasztott memóriához való hozzáférést.

A harmadik esetnek ugyanazok a tünetei, mint a másodiknak (írási kísérlet írásvédett oldalra), de a kezelése más. Mivel az oldal írás-másolás megjelölést kapott, a memóriakezelő nem dob hozzáférési szabálysértést. Ehelyett privát másolatot készít az oldalról az aktuális folyamathoz, majd visszatér ahhoz a szálhoz, amely megpróbált írni az oldalra. A szál újra megpróbálja az írási műveletet, amely most oldalhiba nélkül fejeződik be.

A negyedik eset akkor fordul elő, amikor egy szál egy értéket tol a verembe, és olyan oldalra érkezik, amely még nincs lefoglalva. A memóriakezelő ezt speciális esetként ismeri fel. Amíg van hely a verem számára fenntartott virtuális oldalakon, a memóriakezelő új oldalakat szolgáltat, nullázza őket, és leképezi őket a folyamatra. Amikor a szál folytatja a végrehajtást, újra megpróbálja elérni a hozzáférést, és ezúttal sikeres lesz.

És végül, az ötödik eset egy normál oldalhiba. Ennek azonban több alváltozata van. Ha egy oldal le van képezve egy fájlra, akkor a memóriakezelőnek meg kell vizsgálnia annak adatstruktúráit (például a szegmensobjektumhoz társított prototípus oldaltáblázatot), hogy megbizonyosodjon arról, hogy nincs másolata a memóriában. Ha van másolat (például egy másik folyamatban, egy készenléti listában vagy a módosított oldalak listájában), akkor egyszerűen megosztja (lehet, hogy meg kell jelölnie írásra másolásként). ha a változtatásokat nem osztják meg). feltételezett). Ha még nincs másolat, akkor a memóriakezelő kijelöl egy szabad fizikai oldalt, és előkészíti a fájl egy oldalának lemezről történő átmásolására, kivéve, ha éppen egy másik oldal kerül átvitelre a lemezről (ebben az esetben csak várni, amíg ez az átvitel befejeződik).

Ha a memóriakezelő úgy tudja kezelni a laphibát, hogy megtalálja a megfelelő oldalt a memóriában (ahelyett, hogy lemezről olvasná), akkor a hibát soft faultnak nevezik. Ha másolásra van szüksége a lemezről, akkor ez kemény hiba. A lágy hibák sokkal olcsóbbak, és csekély hatással vannak az alkalmazás teljesítményére (a hard bugokhoz képest). Lágy hibák akkor fordulhatnak elő, ha a megosztott oldalt már hozzárendelték egy másik folyamathoz, vagy egyszerűen új nullázott oldalra van szükség, vagy a kívánt oldalt eltávolították a folyamat munkakészletéből, de visszanyerték, mielőtt újra felhasználnák. Lágy hibák azért is előfordulhatnak, mert az oldalakat tömörítették a fizikai memória méretének hatékony növelése érdekében. A legtöbb CPU-konfigurációnál hatékonyabb a memória és az I/O tömörítése a jelenlegi rendszerekben, nem pedig a drága I/O (teljesítmény és teljesítmény szempontjából) pazarlása, amihez egy oldal lemezről történő kiolvasása szükséges.

Ha egy fizikai oldal már nincs leképezve egyetlen folyamat oldaltáblázatához sem, akkor a három lista egyikére kerül: ingyenes, módosított vagy fenntartott. Azok az oldalak, amelyekre soha többé nem lesz szükség (például egy befejező folyamat kötegoldalai), azonnal felszabadulnak. Azok az oldalak, amelyek újra lapozhatnak, vagy a módosított listában, vagy a tartaléklistában vannak (attól függően, hogy a "módosított" bit be lett-e állítva bármely oldaltábla-elemhez, amely megjelenítette ezt az oldalt, mióta legutóbb lemezről olvasták). A módosított lista oldalai végül lemezre kerülnek, majd átkerülnek a tartaléklistára.

A memóriakezelő szükség szerint lefoglalhat oldalakat (a szabad vagy lefoglalt oldalak listáját használva). Az oldal lefoglalása és lemezről történő másolása előtt a memóriakezelő mindig ellenőrzi a fenntartott és módosított oldalak listáját, hátha az oldal már a memóriában van. A Windows lapozási sémája a jövőbeli súlyos hibákat lágy hibákká alakítja (az esetlegesen szükséges oldalak elolvasásával és a tartaléklistára helyezésével). A memóriakezelő kis mennyiségű lapozást maga is végez – egymás után következő oldalak csoportjait éri el (egyenkénti oldalak helyett). A további oldalak azonnal felkerülnek a tartalék oldalak listájára. Ez nem pazarlás, mivel a memóriakezelő többletköltsége sokkal kevesebb, mint az I/O műveletek végrehajtásának költsége. Egy teljes oldalcsoport elolvasása valamivel drágább, mint egyetlen oldal elolvasása.

ábra oldaltáblázat elemei. A 11.17 fizikai (nem virtuális) oldalszámokra vonatkozik. A kernelnek virtuális címeket kell használnia az oldaltábla bejegyzésének (és az oldalkönyvtárnak) frissítéséhez. A Windows leképezi az aktuális folyamat oldaltábláit és oldalkönyvtárait a kernel virtuális címterére az oldalkönyvtár self-map elemével (11-18. ábra). Ha egy oldalkönyvtár bejegyzést leképezünk egy oldalkönyvtárra (önleképezés), olyan virtuális címeket kapunk, amelyek segítségével hivatkozhatunk oldalkönyvtár bejegyzésekre (11.18a ábra) és oldaltábla bejegyzéseire (11.18b ábra). Az önleképezés folyamatonként 8 MB kernel virtuális címet foglal el (x86 processzorokon). Az egyszerűség kedvéért az ábrán az x86 önleképezési elem látható a 32 bites PTE rekordokhoz (Page-Table Entries). Valójában a Windows 64 bites PTE-ket használ, így a rendszer több mint 4 GB fizikai memóriát tud használni. A 32 bites PTE bejegyzéseknél az önleképezési elem csak egy PDE bejegyzést (Page-Directory Entry) használ az oldalkönyvtárban, ezért csak 4 MB címet foglal el, nem 8 MB-ot.

Megelőző/nem megelőző algoritmusok.

Preemptív algoritmus esetén az operációs rendszer bármikor megszakíthatja az aktuális szál végrehajtását, és átállíthatja a processzort egy másik szálra. A nem megelőző algoritmusokban a processzor által adott szál dönti el, hogy mikor adja át az irányítást az operációs rendszernek.

Algoritmusok kvantálással.

Minden szál kap egy időszeletet, amely alatt a szál futhat a processzoron. Amikor a kvantum lejár, az operációs rendszer átkapcsolja a processzort a sor következő szálára. A kvantum általában egyenlő a rendszeridőzítő 1 intervallumainak egész számával.

Algoritmusok prioritásokkal.

Minden szálhoz prioritás (prioritás) van hozzárendelve - egy egész szám, amely jelzi a szál jogosultságának mértékét. Az operációs rendszer, ha több végrehajtásra kész szál van, kiválasztja közülük a legmagasabb prioritású szálat.

A Windows vegyes ütemezési algoritmust valósít meg – megelőző, kvantáláson és prioritásokon alapuló.

  1. Multitasking típus DOS alkalmazásokhoz
  2. Szolgáltatási garanciák
  3. Előtérbeli folyamatok ütemezése
  4. A cserefájl célja
  5. A P1, P2, P3 folyamatok 100, 20, 80 MB memóriát foglalnak le. A rendszer 128 MB OP-val rendelkezik. Mennyi a felhasznált memória mennyisége a swap fájlban. Mekkora a swap fájl mérete.
  1. Mi az az "oldalhiba"?

14-es megszakítás -oldal hiba (#PF): Intel386...

Akkor jön létre, ha a lapozási mechanizmus aktiválva van (CR0.PG = 1), és a következő helyzetek egyike következik be, amikor lineáris címet fordítanak át fizikai címre:

  • a címfordításban használt oldaltáblázat vagy oldalkatalógus eleme, nulla jelenlét bittel rendelkezik, azaz a kívánt oldaltábla vagy oldal nem található a fizikai memóriában;
  • eljárás nem rendelkezik privilégium szint, amely elegendő a kiválasztott oldal eléréséhez, vagy olyan oldalra próbál írni, amely az aktuális jogosultsági szintnek megfelelően írásvédett.

Az oldalhiba-kezelő két forrásból szerez információkat a hiba okáról: a verembe nyomott hibakódból és a hibát okozó lineáris címet tartalmazó CR2 tartalmából. Az oldal hibakódja speciális formátumú (3.7. ábra).

A megszakadt program a laphibát okozó okok megszüntetése után (például oldalbetöltés a fizikai memóriában) további módosítások nélkül folytatható.

Ha az oldalhibát az oldalbiztonsági jogosultságok megsértése okozta, akkor a hozzáférési bit (A) a megfelelő oldalkönyvtár bejegyzésben be van állítva. A hozzáférési bit viselkedése a megfelelő oldaltábla-bejegyzésben ebben az esetben nincs szabályozva az Intel processzoraiban, és a különböző modellekben eltérő lehet.

  1. A magas oldalhibaarány a következőket jelzi:

A program megbízhatatlansága

A RAM megbízhatatlansága

Egyéb: magyarázd el

Oszlop "Az oldal hiánya miatti hibák / mp."

Az "Oldal elfogyott a memória hibák / mp" oszlopban. (Hard Faults/sec) a memórialaphibák átlagos számát jelzi másodpercenként az utolsó percben. Ha egy folyamat a jelenleg rendelkezésre állónál több fizikai memóriát próbál használni, a rendszer az adatok egy részét a memóriából a lemezre írja – a lapozófájlba. A lemezre mentett adatokhoz való utólagos hozzáférést memóriahiánynak nevezzük.

Mit jeleznek a lapozási hibák?

Most, hogy van fogalma arról, hogy milyen információkat gyűjtenek össze a Folyamatok táblázatban, nézzük meg, hogyan használhatjuk ezeket a memóriafoglalás figyelésére. Amikor az alkalmazások elindulnak, és a fájlokkal dolgoznak, a memóriakezelő nyomon követi az egyes folyamatok munkakészletének méretét, és rögzíti a további memória-erőforrásokra vonatkozó kéréseket. Ahogy egy folyamat munkakészlete növekszik, a diszpécser ezeket a kéréseket a kernel és más folyamatok igényeihez igazítja. Ha nincs elég elérhető címterület, a diszpécser csökkenti a munkakészletet az adatok memóriából lemezre mentésével.

Később, amikor ezeket az adatokat a lemezről olvassa, egy lap megfogyatkozott memória hiba lép fel. Ez teljesen normális, de ha a hibák egyidejűleg lépnek fel a különböző folyamatokban, akkor a rendszernek további időre van szüksége az adatok lemezről történő olvasásához. A túl gyakori memóriahiba miatti lapozás csökkenti a rendszer teljesítményét.. Valószínűleg minden alkalmazásnál tapasztalt már váratlan lassulást, amely aztán hirtelen le is állt. Ez a lassulás szinte bizonyosan a fizikai memória és a csere közötti aktív adatátcsoportosításnak köszönhető.

Ebből az a következtetés következik, hogy ha egy adott folyamatnál túl gyakran, sőt rendszeresen előfordulnak oldalon kívüli hibák, A számítógépnek nincs elég fizikai memóriája.

A gyakori memóriahiányt okozó folyamatok nyomon követésének megkönnyítése érdekében zászlókkal jelölheti meg őket. Ezzel a kiválasztott folyamatok a lista elejére kerülnek, és az oldal elfogyott a memória hibagrafikonja narancssárga görbével jelenik meg.

Ne feledje, hogy a memóriafoglalás számos más tényezőtől is függ, és az oldalon kívüli hibák figyelése nem a legjobb vagy az egyetlen módja a problémák azonosításának. Azonban jó kiindulópontként szolgálhat a megfigyeléshez.

  1. Hogyan jön létre a szál prioritása a Windows rendszerben

Prioritások

A Windows preemptív prioritás ütemezést valósít meg, amikor minden szálhoz hozzárendelnek egy bizonyos számértéket - egy prioritást, amely szerint egy processzor hozzá van rendelve. Az azonos prioritású szálak a Round Robin algoritmus (körhinta) szerint vannak ütemezve. A rendszer fontos előnye, hogy képes megelőzni a kernel módban futó szálakat – a végrehajtó rendszer kódja teljesen újra belép. Csak a spinlock-ot tartó szálak nincsenek előlegezve (lásd a "Szálszinkronizálás" részt). Ezért a spinlockokat nagy körültekintéssel használják, és minimális időre állítják be.

A rendszernek 32 prioritási szintje van. Tizenhat prioritási érték (16-31) felel meg a valós idejű prioritáscsoportnak, tizenöt érték (1-15) a normál szálaknak, és egy 0 érték van fenntartva a rendszer oldal-nullázási szálának (lásd az ábrát). 6.2).

Rizs. 6.2. Szál prioritásai

A fejlesztők bevezették a rendszerbe, hogy megóvják a felhasználót attól, hogy emlékezzen a prioritások számértékeire, és módosítani tudja az ütemezőt. prioritási absztrakciós réteg. Például egy adott folyamat összes szálának prioritási osztálya beállítható a SetPriorityClass függvény konstans paramétereinek készletével, amelyek a következő értékekkel rendelkezhetnek:

  • valós idejű (REALTIME_PRIORITY_CLASS) - 24
  • magas (HIGH_PRIORITY_CLASS) - 13
  • normál felett (ABOVE_NORMAL_PRIORITY_CLASS) 10
  • normál (NORMAL_PRIORITY_CLASS) - 8
  • normál alatti (BELOW_NORMAL_PRIORITY_CLASS) - 6
  • és törött (IDLE_PRIORITY_CLASS) 4

A szál relatív prioritását a SetThreadPriority függvény ugyanazok a paraméterei állítják be:

A hat folyamat prioritási osztály és a hét szál prioritási osztály kombinációja 42 lehetséges kombinációt alkot, és lehetővé teszi az úgynevezett alapszál prioritás kialakítását.

A folyamat alapprioritása és az elsődleges szál alapértelmezett értéke a folyamat prioritási tartományának közepén ( 24, 13, 10, 8, 6 vagy 4). Egy folyamat prioritásának megváltoztatása megváltoztatja az összes szál prioritását, és a relatív prioritások változatlanok maradnak.

A 16-tól 31-ig terjedő prioritások nem igazán valós idejű prioritások, mivel a Windows puha valós idejű támogatása esetén nem vállalunk garanciát a szálak időzítésére. Ezek egyszerűen magasabb prioritások, amelyek a rendszerszálak számára vannak fenntartva, és azoknak a szálaknak, amelyeket adminisztrátori jogokkal rendelkező felhasználó adott ilyen prioritásnak. Mindazonáltal a valós idejű prioritások jelenléte, valamint a kernelkód előlegezhetősége, a memórialapok lokalizálása (lásd: "Memóriakezelő működése") és számos további szolgáltatás - mindez lehetővé teszi a puha valós idejű futtatást. alkalmazások, például multimédia, a Windows operációs rendszer környezetben. A nulla prioritású rendszerszál a memóriaoldalak nullázásában vesz részt. A normál felhasználói szálak prioritása 1 és 15 között lehet.


Hasonló információk.


Sok számítástechnikai rendszer tartalmaz valamilyen memóriakezelőt (memóriakezelőnek, MMU-nak is nevezik), amellyel a többfeladatos operációs rendszer memóriát foglal le az egyes feladatokhoz, és védelmet nyújt a felhasználói programokkal szemben. Tipikus probléma például akkor fordul elő, ha egy alkalmazás hibát követ el a cím kiszámításakor, esetleg túl nagy vagy túl kicsi indexértéket használ. Ha nincs védelem a rendszerben, egy ilyen hiba megváltoztathatja az operációs rendszer programjaiban szereplő kódokat, vagy módosíthatja az eszköztáblázatokat, sőt akár az eszköz nem tervezett elindulását is okozhatja végzetes következményekkel, például jogosulatlan írással. az adatfájlhoz.

Amellett, hogy megvédi az operációs rendszert a véletlen megsemmisüléstől, a memóriakezelő automatikus programáthelyezést is biztosít. A memóriakezelő a felhasználói programok logikai vagy programcímeit fizikai vagy hardvercímekké alakítja. Előfordulhat, hogy ezek a címek teljesen másképp helyezkednek el a memóriában, mint ahol a logikai címek mutatnak. A címfordítás az operációs rendszer és a védett I/O eszközök teljes eltávolítását eredményezi a felhasználó címteréből. A felhasználó címterén kívüli memória olvasási vagy írási kísérlete a processzor összeomlását okozza a felhasználó programjában.

Az információ továbbítása általában meghatározott számú bitből álló darabokban történik; A 80386 MP 32 bites darabokat használ, hacsak nincs utasítva, hogy a darabméretet 16 bitre csökkentse. Ezeket a részeket szavaknak nevezzük. A szó memóriarendszerbe írásának folyamatát ún memória bejegyzés, a folyamat egy szó emlékezetből való kinyerésének folyamata - emlékezetből olvasni.

Két memóriaelérési mód létezik: véletlenszerű és szekvenciális. A szekvenciális hozzáférést azokban a memóriarendszerekben használják, ahol a szavakat valamilyen előre meghatározott sorrendben érik el. A véletlenszerű hozzáférés ezzel szemben azt jelenti, hogy egy tárolórendszer szavaihoz tetszőleges sorrendben és megközelítőleg azonos idő alatt hozzá lehet férni.

Nem számít, milyen tökéletes a memória, amikor a jel áthalad az eszközök között, késések vannak a terjedésében. A terjedési késleltetés az az idő, amely ahhoz szükséges, hogy a logikai jel áthaladjon egy eszközön vagy egy logikai láncot alkotó eszközök sorozatán. Ez a késleltetés figyelembe veszi a mikroáramkörök közötti összes összekötő vonalon áthaladó jelet is.

Közvetlen memória hozzáférés (DMA)

A közvetlen memóriahozzáférés lehetővé teszi a külső eszközök és a memória közvetlen adatcseréjét, program beavatkozása nélkül. A DMA maximális I/O sebességet és maximális folyamatpárhuzamot biztosít. Míg a megszakításos I/O és a szoftver által vezérelt I/O adatátvitel a processzoron keresztül történik, addig DMA esetén az adatátvitel közvetlenül az I/O eszköz és a memória között történik.

Az adatbuszok számának minimalizálása érdekében speciális intézkedéseket tesznek annak érdekében, hogy lehetővé tegyék a hagyományos gerinchálózat használatát az RPS-hez. Ezek az intézkedések abból állnak, hogy a processzor felszabadítja az autópályát, a külső eszköz pedig rögzíti és adatátvitelre használja.

A RAP idejére a program végrehajtása általában felfüggesztésre kerül. A trönk felszabadul, amint a RAP-kérés vezérlővonal gerjesztődik. A processzor leállítja az aktuális műveletet, felszabadítja a cím- és adatsorokat, és egy jelet érvényesít az egyik vezérlővonalon, hogy megakadályozza a nem definiált vezérlőjelek véletlen dekódolását.

Az I/O interfész egy speciális regiszter segítségével közvetlenül a memóriába továbbítja az adatokat. Amikor adatátvitelre van szükség, az interfész memóriaciklust kér a processzortól. A nyugtázás után az interfész közvetlenül a memóriába küldi az adatokat, miközben a processzor egy memóriaciklusra szünetet tart. Az átvitelt végrehajtó logikát hívják csatorna.

A csatorna tartalmaz egy regisztert, amely tárolja annak a memóriahelynek a címét, amelyre vagy ahonnan adatátvitel történik, és a legtöbb esetben szószámlálót is tartalmaz a közvetlen átvitelek számának számlálására. Ezenkívül a csatornának tartalmaznia kell egy áramkört, amely biztosítja a vezérlőjelek cseréjét, a szinkronizálást és egyéb segédműveleteket. ábrán A 13.4 mutatja a logikai kapcsolatokat a CPU és a PDP vezérlő között.

RAP alkatrészek. A DMA fő összetevői egy kérés trigger, egy címregiszter, egy számláló és egy adatregiszter, amelyet a periféria használ. Az adatok DMA csatornán keresztüli továbbítása több lépésből áll: 1) a DMA logika inicializálása a DMA végrehajtásához a gerinchálózat ismételt lefoglalási ciklusai során; 2) aszinkron a RAP programművelet-aktiválása tekintetében; 3) értesítés az átutalások befejezéséről (a számláló jelzésére vagy a készülék állapotának változása következtében); 4) a "tisztítás" program meghívása az átvitel végén; 5) a DMA befejezése egy megszakításkezelő segítségével, amely visszaadja a vezérlést a főprogramnak.

Adatátvitel blokkolása. A nagy sebességű eszközök DMA-eljárása blokkokban történő adatátvitelt használ. Az aktuális program végrehajtásával a processzor elindítja egy adatblokk átvitelét, és meghatározza a blokkot alkotó szavak számát. A szavak tényleges továbbítása azonban egy külön eszköz - a PMA vezérlő - vezérlése alatt történik. A DMA-csatornán keresztüli maximális blokkátviteli sebességet csak a memóriaciklus (olvasás vagy írás) időtartama és a DMA-vezérlő sebessége korlátozza.

RAP a memóriaciklus elfoglalásával. A program blokkátvitelt kezdeményez úgy, hogy a kezdőcímet a címszámlálóba, a szavak számát pedig a szószámlálóba helyezi. és futási parancs kiadása. Ezt a típusú RAP-ot gyakran RAP-nak nevezik lefoglalja a memória ciklust, mert minden alkalommal körülbelül egy gépi ciklusra szünetelteti a programvégrehajtást.

Ha DMA-t memóriaciklussal használunk, az adatátvitel a CPU által végrehajtott egyéb folyamatokkal párhuzamosan történik. A műveletek sorrendje itt ugyanaz, mint a blokk átvitelnél, azzal az eltéréssel, hogy a DMA vezérlő memóriaciklusokat vesz fel a processzortól, és ezért lelassítja a működését (blokk adatátvitel a DMA csatornán is veszi memóriaciklusok, kivéve, ha a DMA-t külön buszon használják).