Keď sa proces spustí v systéme Windows, zobrazí sa veľa obrázkov EXE súbory DLL stránky a knižnice už môžu byť v pamäti, pretože ich používajú iné procesy. Stránky s obrázkami, na ktoré sa dá zapisovať, sú označené ako „copy-on-write“, takže ich možno zdieľať, kým ich nie je potrebné upraviť. Ak operačný systém rozpozná EXE, ktorý už bol spustený, môže zapísať vzor odkazu na stránku (pomocou techniky, ktorú Microsoft nazýva Super-Fetch). Táto technológia sa snaží vopred načítať veľa potrebných stránok (hoci proces na nich ešte nezaznamenal chyby stránok). To znižuje latenciu spúšťania aplikácií (čítanie stránok z disku sa prekrýva s vykonávaním inicializačného kódu obrázkov). Táto technológia zlepšuje výstupný výkon disku tým, že diskovým ovládačom uľahčuje organizáciu operácií čítania (na skrátenie potrebného času vyhľadávania). Tento proces predbežného načítania sa používa počas zavádzania systému, ako aj vtedy, keď sa aplikácia na pozadí dostane do popredia a keď sa systém prebudí z hibernácie.

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

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

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

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


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

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

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

1. Stránka nie je pevná.

2. Pokúste sa o prístup na stránku s porušením povolenia.

3. Pokúste sa upraviť stránku kopírovania pri zápise.

1. Potreba zvýšiť zásobník.

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

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

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

Štvrtý prípad nastane, keď vlákno vloží hodnotu do svojho zásobníka a narazí na stránku, ktorá ešte nebola pridelená. Správca pamäte to rozpozná ako špeciálny prípad. Pokiaľ je pod stohom rezervované miesto virtuálne stránky ah, správca pamäte dodá nové stránky, vynuluje ich a priradí k procesu. Keď vlákno obnoví vykonávanie, zopakuje prístup a tentoraz bude úspešné.

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

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

Keď fyzická stránka už nie je namapovaná na tabuľku stránok žiadneho procesu, umiestni sa na jeden z troch zoznamov: voľný, upravený alebo rezervovaný. Tie stránky, ktoré už nikdy nie sú potrebné (ako sú zásobníkové stránky ukončujúceho procesu), sa okamžite uvoľnia. Stránky, ktoré môžu znova rušiť stránku, sú buď v upravenom zozname alebo v rezervnom zozname (v závislosti od toho, či bol nastavený bit "upravený" pre niektorý prvok tabuľky stránok, ktorý zobrazil túto stránku od jej posledného čítania z disku). Stránky z upraveného zoznamu sa nakoniec zapíšu na disk a potom sa presunú do rezervného zoznamu.

Správca pamäte môže prideľovať stránky podľa potreby (pomocou zoznamu voľných alebo rezervovaných stránok). Pred pridelením stránky a jej skopírovaním z disku správca pamäte vždy skontroluje zoznamy rezervovaných a upravených stránok, či už stránka nie je v pamäti. Stránkovacia schéma systému Windows konvertuje budúce ťažké chyby na mäkké (prečítaním stránok, ktoré môžu byť potrebné, a ich umiestnením na záložný zoznam). Správca pamäte vykonáva malú časť stránkovania sám – pristupuje k skupinám po sebe nasledujúcich stránok (a nie k jednotlivým stránkam). Ďalšie strany sa okamžite zaradia do zoznamu rezervných strán. Nie je to plytvanie, pretože réžia správcu pamäte je oveľa nižšia ako náklady na vykonávanie I/O operácií. Čítanie celého zhluku stránok je o niečo drahšie ako čítanie jednej stránky.

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

Pripojili ste nové zariadenie, ale s prácou sa neponáhľa, alebo staré zariadenie prestalo fungovať alebo nefunguje správne. Čo robiť v týchto prípadoch? Preinštalovať všetko? Je to trápenie a nie vždy je to potrebné. Ako zistiť, čo je dôvodom a ako ho odstrániť? Veľmi jednoduché. Faktom je, že v operačnom systéme rodiny Windows, a nie len, sú aj nejakéSprávca zariadení, v skutočnosti veľmi potrebný a užitočný manažér, ak ho tak môžete nazvať. Tu to je, pomôže nám to zistiť, čo je príčinou problému, a môj cheat sheet problém vyrieši. Takže vo vyššie uvedenomSprávca zariadení existujú stopy chýb v prevádzke zariadení vo forme kódov. Keď poznáte kód chyby, je ľahké určiť príčinu problému. Pre neznalých sú kódy len nezrozumiteľné a nič nehovoriace čísla. Znalému používateľovi však môžu veľa povedať. Pokúsim sa čo najlepšie vniesť trochu svetla do tejto témy.


Na zobrazenie chýb zariadenia musíme najskôr vstúpiť do samotného Správcu zariadení. Robí sa to takto. Prihlásiť saOvládací panel z menuZačať ( môcť,môj počítač , kliknite pravým tlačidlom myšiVlastnosti Správca zariadení, a je to možné aj cez úlohu príkazu vvykonať , ale načo si veci komplikovať). Ak vstúpime cezPanel zvládanie , potom cesta je:Systém - Hardvér - Správca zariadení . Vyberte si vstupom do menuSprávca zariadení , typ zariadenia, ktoré nás zaujíma (klávesnica, tlačiareň, modem atď.), dvakrát naň kliknite, v dôsledku toho sa nám zobrazia zariadenia zahrnuté v tomto type. Vyberte zariadenie, ktoré potrebujeme, a dvakrát naň kliknite. Pozeráme sa na stĺpec na karte Informácievšeobecný, stav zariadenia. Ak sa vyskytne problém s prevádzkou zariadenia, zobrazí sa tu ako kód chyby. Takže vidíme čísla a čísla. Čo znamenajú. Nižšie uvádzam úplný zoznam chyby, s stručný popis chyby a možné spôsoby eliminácia. Kód chyby je zvýraznený červenou farbou, jej popis modrou a odstránenie čiernou farbou.

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

Kód 3Poškodený ovládač zariadenia ako voliteľná možnosť nestačí Náhodný vstup do pamäťe pre správnu činnosť zariadenia.1. Odstráňte poškodený ovládač a nainštalujte nový. Ak to chcete urobiť: Vlastnosti - Ovládač - Odstrániť, potom postupujte podľa pokynov sprievodcu. Reštartovať. Opäť otvárameSprávca zariadení Akcia Aktualizujte hardvérovú konfiguráciu a postupujte podľa pokynov majstra. 2. Ak je problémom nedostatok virtuálna pamäť, zatvorte spustené aplikácie, aby ste uvoľnili pamäť. Aby sme skontrolovali stav pamäte, do ktorej sa musíme dostaťSprávca úloh Ak to chcete urobiť, stlačte kombináciu klávesovCtrl+Shift+Esc.Nastavenia virtuálnej pamäte môžeme vidieť kliknutím pravým tlačidlom myšiMôj počítač Vlastnosti – Rozšírené – Výkon – Nastavenia (Možnosti) . Môžete skúsiť zväčšiť swap súbor (ako sa to robí som opísal v jednom z predchádzajúcich článkov na mojom blogu), ale od drastického opatrenia to má ďaleko. Budete musieť zvýšiť RAM. Ako sa to robí, je samostatná téma, ktorá presahuje rámec tohto príspevku.

Kód 10Kľúč databázy Registry má nastavenie špecifické pre zariadenieFailReasonString,hodnota tohto parametra sa zobrazí v chybových údajoch, to znamená, že ak neexistuje žiadny parameter ako taký, objaví sa chybový kód, inými slovami, zariadenie sa nedá spustiť. Aktualizujte ovládač podľa vyššie uvedeného. Alebo nainštalujte novší.

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

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

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

Vlastnosti - Zdroje. Ak sa v zozname zdrojov nachádza zdroj so znakom ?, vyberte ho a priraďte ho k vybranému zariadeniu. Ak sa zdroj nedá zmeniť, klikniteZmeniť nastavenia , ak táto funkcia nie je dostupná, zrušte začiarknutie políčkaAutomatické nastavenie

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

Kód 19Nedostatočné informácie v registri o nastaveniach zariadenia alebo sú nastavenia poškodené. BežaťSprievodca odstraňovaním problémov a postupujte podľa jeho pokynov, nepomôže - preinštalujte zariadenie, ako je uvedené vyššie. (kód 3). Alebo ak to nefunguje, stiahnite siPosledná známa dobrá konfigurácia. Ak to nepomôže, potrebujete pomoc špecialistu, pretože je potrebné upraviť register systému. Nedostatok vedomostí a skúseností, na vlastnú päsť tam nemáte čo robiť, to vám potvrdí každý správca systému. Vedomý a schopný, vie, ako to urobiť, bezo mňa. A pre neskúsených je lepšie to neskúšať. Register je srdcom operačný systém a operácie na ňom by mal vykonávať iba skúsený odborník alebo pod jeho vedením. V žiadnom prípade nechcem nikoho uraziť, ale ak ste nepracovali so systémovým registrom a ak je vám váš počítač drahý, radím vám, aby ste tam zabudli. Nepíšem pre profesionálov, tí to nepotrebujú, ale pre bežného užívateľa. Samozrejme, môžem tam napísať, ako a čo robiť, ale to bude vysvetlenie na prstoch a ak si v dôsledku najmenšej chyby poškodíte počítač, budem na vine. Ja to vôbec nepotrebujem a ani ty.

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


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


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


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


Kód 28 Nie je tam žiadny vodič. Nainštalujte ovládač. Ak to chcete urobiť, musíte aktualizovať ovládač, kroky sú ako v pokynoch pre kód 1.


Kód 29Deaktivované zariadenie . Musíte povoliť, aby zariadenie fungovalo nastavenieBIOS,prečítajte si pokyny na používanie zariadenia.


Kód 31Systému sa nepodarilo načítať ovládače pre toto zariadenie. . Aktualizujte ovládače, ako je popísané vyššie.


Kód 32Ovládač pre toto zariadenie je deaktivovaný systémový register . Odinštalujte a znova nainštalujte ovládač (popísané vyššie)


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


Kód 34Operačný systém nedokáže určiť nastavenia zariadení . Pozrite si dokumentáciu k hardvéru, ktorá bola dodaná s ním, a manuálne ho nakonfigurujte na karte Zdroje.


Kód 35Firmvér počítača nemá potrebné informácie na správne fungovanie prevádzka zariadenia . Je potrebné aktualizovaťBIOS.Pre návod ako na to sa obráťte na dodávateľa, ale je lepšie využiť služby skúseného remeselníka.


Kód 36Zariadenie vyžaduje prerušenie prevádzky.PCI,a zariadenie je nastavené na prerušenieisa,alebo naopak . Je potrebné zmeniť nastaveniaBIOS,obráťte sa na skúseného majstra.


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


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


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


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


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


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


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


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


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


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


Kód 47 Zariadenie bolo pripravené na bezpečné odstránenie, ale ešte nebolo odstránené (napr. blesk) . Odpojte zariadenie, potom ho znova zapojte a reštartujte počítač.


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


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


Príručka na odstránenie akýchkoľvek vírusov z počítača vlastnými rukami. Všetky metódy odstraňovania vírusov sú skutočne funkčné a overené v praxi, návod krok za krokom s ilustráciami - jednoduché a dostupné aj pre školáka + videonávody + program ultraiso na vytvorenie bootloaderov+ užitočné odkazy za nástroje v boji proti vírusom. Stiahnite si archív

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

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

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

Nižšie adresy virtuálneho adresného priestoru zdieľajú všetky procesy, aby sa zabezpečila kompatibilita s ovládačmi zariadení v reálnom čase, rezidentnými programami Windows atď. Na jednej strane je to pohodlné, ale na druhej strane to znižuje spoľahlivosť (jeden z hlavné vlastnosti OS), pretože každý proces môže poškodiť komponenty umiestnené na týchto adresách.

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

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

Spodných 64 KB RAM je pre 32-bitové programy nedostupných, no 16-bitové programy sem môžu zapisovať svoje dáta. Adresy menšie ako 4 MB sú priradené k adresnému priestoru každej aplikácie a zdieľajú ich všetky procesy. Vďaka tomu je táto oblasť nechránená pred náhodným zápisom.

Minimálne potrebné množstvo pamäte pre fungovanie Windows 9x je 4 MB, ale v praxi sa s takýmto množstvom pamäte nedá pracovať. stránkový súbor , ktorý implementuje mechanizmus virtuálnej pamäte, sa nachádza v adresári Windows a má variabilnú veľkosť, ktorú v prípade potreby mení samotný systém. Jeho rozmery je možné nastaviť pomocou systémových nástrojov (Ovládací panel → Systém → Výkon → Systém súborov), alebo nastaviť v sekcii súboru SYSTEM.INI - riadok označujúci disk a názov súboru:

Pagingfive=c:\PageFile.sys

MinPagingFileSize=65536 (64 MB)

MaxPagingFileSize=262144 (256 MB)

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

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

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

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

1) vážnejšie použitie hardvéru na ochranu pamäte poskytnutého v mikroprocesore;

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

Pridelenie adresného priestoru vo Windows NT je znázornené na obrázku 1. 3.2.

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

Aplikačným programom je pridelených 2 GB lokálneho (natívneho) lineárneho (neštruktúrovaného) adresného priestoru (prvých 64 KB je nedostupných). Sú od seba izolované a môžu medzi sebou komunikovať len cez schránku (schránku), prípadne cez mechanizmy DDE (Dynamic Data Exchange – dynamická výmena dát) a OLE (Object Linking and Embedding – komunikácia a implementácia objektov).

V hornej časti 2 GB oblasti je kód systémové knižnice DLL(dynamicky prepojené knižnice) fungujúce ako serverové procesy. Kontrolujú hodnoty parametrov dotazu, vykonajú požadovanú funkciu a výsledky posielajú späť do adresného priestoru volajúceho programu.

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

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

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

Správu pamäte (pridelenie, rezerváciu, uvoľnenie, stránkovanie) vykonáva Správca virtuálnej pamäte (VMM). Každá virtuálna stránka sa prenesie na fyzickú stránku – rámec stránky (rámec stránky), vyplnený pôvodný stav nuly (to je hlavná požiadavka normy na bezpečnostné systémy C2, ktorá určuje nemožnosť využitia ich predchádzajúceho obsahu inými procesmi). Priestor na uvoľnenie stránky je vyhradený v súbore stránky Pagefile.sys, čo je rezervovaný blok miesta na disku.

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

      Virtuálna pamäť v systéme Windows

Najviac spoločná príčina spomalenie systému Ovládanie Windows- vyplnenie fyzickej pamäte. Súčasne Windows začína takzvané "stránkovanie" (stránkovanie) - presúvanie blokov kódu a programových údajov (každý takýto blok sa nazýva stránka - stránka) z fyzickej pamäte na pevný disk. Prístup k stránkovaciemu súboru z času na čas je normálny a neznižuje výkon systému, ale časté požiadavky na údaje zo súboru na disku môžu výrazne spomaliť celkovú rýchlosť systému. Tento problém je obzvlášť viditeľný pri prepínaní medzi viacerými programami náročnými na pamäť v počítači, ktorý nemá dostatok fyzickej pamäte. Vďaka tomu je disk takmer neustále v prevádzke, pretože systém sa z neho snaží „pumpovať“ dáta do pamäte a späť.

Ak celkové množstvo pridelenej pamäte presiahne celkové množstvo fyzickej pamäte, systém Windows musí „pumpovať“ stránky medzi rýchlou pamäťou RAM a oveľa pomalšou virtuálnou pamäťou v súbore stránok, čím sa systém spomalí.

V procese Inštalácia systému Windows Odkladací súbor XP sa automaticky vytvorí v koreňovom priečinku na rovnakom disku, kde sa nachádza systémové súbory Windows. Veľkosť stránkovacieho súboru je určená na základe množstva fyzickej pamäte v systéme. V predvolenom nastavení je minimálna veľkosť stránkovacieho súboru 1,5-násobok veľkosti fyzickej pamäte a maximálna veľkosť je 3-násobok veľkosti. Stránkovací súbor je možné vidieť v okne Prieskumník, ak zapnete režim zobrazenia skrytých a systémových súborov (obr. 3.3).

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

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

Ak to chcete urobiť, vykonajte nasledujúcu postupnosť akcií:

1. Prihláste sa pomocou účtu zo skupiny Administrators a otvorte okno "Ovládací panel - Systém".

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

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

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

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

Môžete zmeniť nasledujúce možnosti:

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

- Veľkosť podľa výberu systému. Vyberte túto položku, ak chcete povoliť dynamickú správu veľkosti odkladacieho súboru tento disk. Túto možnosť vyberte, ak nechcete zmeniť predvolené nastavenia ponúkané systémom Windows.

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

5. Po vykonaní zmien kliknite Opýtať sa zaznamenať zmeny.

6. Opakujte kroky 4 a 5 pre ostatné jednotky (ak je to potrebné). Kliknutím na tlačidlo OK zatvorte dialógové okno, keď s ním skončíte.

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

zmena nastavení virtuálnej pamäte

Ryža. 3.5. Tlačidlo "Zmeniť" pre prechod na zmenu nastavení virtuálnej pamäte v systéme Windows XP (vľavo) a v systéme Windows 7

Ryža. 3.6. Zobraziť okno a nastavenia veľkosti virtuálnej pamäte

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

Ak má váš počítač viac ako jednu fyzickú jednotku, najlepšie je umiestniť stránkovací súbor najrýchlejší, a je lepšie, ak systém súbory systému Windows bude na inom pohone. Ešte lepšie je rozdeliť swap súbor na niekoľko fyzické diskov, pretože radič disku dokáže paralelne spracovať viacero požiadaviek na zápis a čítanie.

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

Ak má systém jeden pevný disk rozdelený na partície C, D a E a stránkovací súbor je rozdelený na viacero partícií, potom sa systém môže dokonca spomaliť, pretože v takejto konfigurácii musia magnetické hlavy pevného disku čítať údaje z niekoľkých oblastí a nie postupne z jednej oblasti disku.

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

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

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

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

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

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

      Ovládanie využitia pamäte v systéme Windows

Najjednoduchší spôsob, ako zistiť, koľko pamäte RAM sa používa tento momentčas - otvorte Správcu úloh stlačením ++ a prejdite na kartu "Výkon" (obr. 3.8). Podrobný popis informácií na karte „Výkon“ pre systém Windows XP je uvedený v tabuľke. 3.1.

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

Karta Výkon pre Windows7 má významné inovácie v porovnaní so zodpovedajúcou kartou Správca Úlohy systému Windows xp.

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

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

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

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

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

Ryža. 3.9. Karta Memory v okne Windows Resource Monitor

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

Ryža. 3.10. Tabuľka "Procesy"

V stĺpci" Obrázok» označuje názov spustiteľného súboru procesu. Procesy spúšťané aplikáciami sú veľmi ľahko rozpoznateľné – napríklad proces „Winword.exe“ zjavne patrí do textového editora Word. Procesy s názvom "svchost.exe" predstavujú rôzne služby operačného systému. Názov služby je uvedený v zátvorkách vedľa názvu procesu.

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

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

V stĺpci " Pracovná súprava» označuje množstvo fyzickej pamäte v kilobajtoch, ktorú proces momentálne používa. Pracovná sada sa skladá zo zdieľanej a súkromnej pamäte.

V stĺpci" generál» označuje množstvo fyzickej pamäte v kilobajtoch tento proces zdieľa s ostatnými. Použitie jedného segmentu pamäte alebo swapovej stránky pre súvisiace procesy šetrí pamäťový priestor. V tomto prípade je fyzicky uložená iba jedna kópia stránky, ktorá je následne namapovaná na virtuálny adresný priestor iných procesov, ktoré k nej pristupujú. Napríklad všetky procesy iniciované systémovými knižnicami DLL - Ntdll, Kernel32, Gdi32 a User32 - používajú zdieľanú pamäť.

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

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

Keď sa aplikácie spúšťajú a pracujú so súbormi, správca pamäte sleduje veľkosť pracovnej sady pre každý proces a zachytáva požiadavky na dodatočné pamäťové zdroje. Keď sa pracovná sada procesu zvyšuje, dispečer priraďuje tieto požiadavky potrebám jadra a iných procesov. Ak nie je dostatok dostupného adresného priestoru, dispečer zmenší pracovnú množinu uložením údajov z pamäte na disk.

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

To vedie k záveru, že ak sa chyby nedostatku pamäte pre konkrétny proces vyskytujú príliš často a pravidelne, počítač nemá dostatok fyzickej pamäte.

Na uľahčenie monitorovania procesov, ktoré spôsobujú časté chyby týkajúce sa nedostatku pamäte na stránke, môžete ich označiť príznakmi. Tým sa vybrané procesy presunú na začiatok zoznamu a stránka s grafom chýb pamäte bude reprezentovaná oranžovou krivkou.

Majte na pamäti, že alokácia pamäte závisí od množstva ďalších faktorov a monitorovanie chýb mimo stránky nie je najlepším ani jediným spôsobom, ako identifikovať problémy. Môže však slúžiť ako dobrý východiskový bod pre pozorovanie.

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


Obrázok 3.11. Stĺpcový graf v tabuľke Fyzická pamäť vám poskytuje všeobecnú predstavu o pridelení pamäte v systéme Windows 7

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

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

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

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

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

Pneumatika PCI Express(PCIE);

Video karty;

Rôzne čipsety;

Flash disky.

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

Mnoho výpočtových systémov obsahuje určitú formu správcu pamäte (známy aj ako správca pamäte, MMU), pomocou ktorého multitaskingový operačný systém prideľuje pamäť každej úlohe a poskytuje ochranu pred používateľskými programami. Napríklad, typický problém nastane, keď aplikačný program urobí chybu pri výpočte adresy, možno použije príliš veľkú alebo príliš malú hodnotu indexu. Ak v systéme nie je žiadna ochrana, tento druh chyby môže zmeniť kódy obsiahnuté v programoch operačného systému alebo upraviť tabuľky zariadení a dokonca spôsobiť neplánované spustenie zariadenia s fatálnymi následkami, ako je napríklad neoprávnený zápis. do dátového súboru.

Okrem ochrany operačného systému pred neúmyselným zničením poskytuje správca pamäte automatické premiestňovanie programu. Správca pamäte konvertuje logické alebo programové adresy užívateľských programov na fyzické alebo hardvérové ​​adresy. Tieto adresy môžu byť v pamäti umiestnené úplne inak, než kde ukazujú logické adresy. Výsledkom prekladu adries je úplné odstránenie operačného systému a chránených I/O zariadení z adresného priestoru používateľa. Akýkoľvek pokus o čítanie alebo zápis do pamäte mimo adresného priestoru používateľa spôsobí zlyhanie procesora v programe používateľa.

Informácie sa zvyčajne prenášajú v blokoch pozostávajúcich z pevného počtu bitov; 80386 MP používa časti 32 bitov, pokiaľ nedostane pokyn zmenšiť veľkosť častí na 16 bitov. Tieto časti sa nazývajú slová. Proces zápisu slova do pamäťového systému sa nazýva pamäťový záznam, proces získavania slova z pamäte - čítanie z pamäte.

Existujú dva spôsoby prístupu do pamäte: náhodný a sekvenčný. Sekvenčný prístup sa používa v tých pamäťových systémoch, kde sa k slovám pristupuje v určitom vopred určenom poradí. Náhodný prístup na druhej strane zahŕňa možnosť prístupu k slovám úložného systému v akomkoľvek poradí a približne v rovnakom čase.

Bez ohľadu na to, aká je pamäť dokonalá, pri prechode signálu medzi zariadeniami dochádza k oneskoreniam v jeho šírení. Oneskorenie šírenia je definované ako čas potrebný na to, aby logický signál prešiel cez zariadenie alebo sekvenciu zariadení tvoriacich logický reťazec. Toto oneskorenie zohľadňuje aj signál prechádzajúci cez všetky prepojovacie vedenia medzi mikroobvodmi.

Priamy prístup do pamäte (DMA)

Priamy prístup do pamäte umožňuje externým zariadeniam a pamäti priamu výmenu údajov bez zásahu programu. DMA poskytuje maximálnu rýchlosť I/O a maximálny paralelizmus procesov. Kým prerušované I/O a softvérovo riadené I/O prenášajú dáta cez procesor, v prípade DMA sa dáta prenášajú priamo medzi I/O zariadením a pamäťou.

Aby sa minimalizoval počet dátových zberníc, prijímajú sa špeciálne opatrenia, ktoré umožňujú použitie konvenčnej chrbtice pre RPS. Tieto opatrenia spočívajú v tom, že procesor uvoľní diaľnicu a externé zariadenie ju zachytí a použije na prenos údajov.

Počas trvania RAP je vykonávanie programu zvyčajne pozastavené. Kufor sa uvoľní, akonáhle je vybudená riadiaca linka požiadavky RAP. Procesor ukončí aktuálnu operáciu, uvoľní adresové a dátové linky a aktivuje signál na jednej z riadiacich liniek, aby zabránil neúmyselnému dekódovaniu nedefinovaných riadiacich signálov.

I/O rozhranie prenáša dáta priamo do pamäte pomocou špeciálneho registra. Keď potrebuje preniesť dáta, rozhranie požiada procesor o pamäťový cyklus. Po potvrdení rozhranie odošle údaje priamo do pamäte, zatiaľ čo procesor sa zastaví na jeden pamäťový cyklus. Logika, ktorá vykonáva tento prenos, sa nazýva kanál.

Kanál obsahuje register na uloženie adresy pamäťového miesta, do ktorého alebo z ktorého sa dáta prenášajú.Vo väčšine prípadov kanál obsahuje aj počítadlo slov na počítanie počtu uskutočnených priamych prenosov. Okrem toho musí kanál obsahovať obvod, ktorý zabezpečuje výmenu riadiacich signálov, synchronizáciu a ďalšie pomocné operácie. Na obr. 13.4 ukazuje logické prepojenia medzi CPU a PDP radičom.

komponenty RAP. Hlavnými komponentmi DMA sú spúšťač požiadavky, register adries, počítadlo a dátový register, ktorý používa periférne zariadenie. Preposielanie dát cez kanál s priamym prístupom do pamäti zahŕňa niekoľko krokov: 1) inicializácia logiky priameho prístupu do pamäti na vykonanie priameho prístupu do pamäti počas opakovaných cyklov obsadzovania chrbtice; 2) asynchrónne vzhľadom na aktiváciu programových operácií RAP; 3) oznámenie o ukončení prevodov (na signál z počítadla alebo v dôsledku zmeny stavu zariadenia); 4) vyvolanie programu „čistenie“ na konci presunov; 5) dokončenie DMA pomocou obsluhy prerušení, ktorá vráti riadenie do hlavného programu.

Blokovať prenos dát. Postup DMA pre vysokorýchlostné zariadenia využíva prenos dát v blokoch. Vykonaním aktuálneho programu procesor spustí prenos bloku dát a určí počet slov, ktoré tvoria blok. Samotný prenos slov však prebieha pod kontrolou samostatného zariadenia – PMA kontroléra. Maximálna rýchlosť blokový prenos cez kanál DMA je obmedzený len dĺžkou cyklu pamäte (čítanie alebo zápis) a rýchlosťou ovládača DMA.

RAP s obsadením pamäťového cyklu. Program spustí prenos bloku umiestnením počiatočnej adresy do počítadla adries a počtu slov do počítadla slov. a vydanie príkazu na spustenie. Tento typ RAP sa často označuje ako RAP with obsadenie pamäťového cyklu, pretože zakaždým pozastaví vykonávanie programu na približne jeden strojový cyklus.

Pri použití DMA s pamäťovým cyklom sa prenos dát uskutočňuje paralelne s inými procesmi vykonávanými CPU. Postupnosť akcií je tu rovnaká ako pri blokovom prenose s tým rozdielom, že radič DMA zaberá pamäťové cykly od procesora a tým spomaľuje jeho činnosť (blokuje aj prenos dát cez kanál DMA berie pamäťové cykly, pokiaľ sa DMA nepoužíva na samostatnej zbernici).