Malo o pamćenju
Prije nego što pređem na analizu, ukratko ću govoriti o tome kako pamćenje upravlja. Nakon toga, bit će vam lakše razumjeti koje su informacije predstavljene u Windows 7 Resource Monitoru.
Windows 7 Memory Manager kreira virtuelni memorijski sistem koji se sastoji od dostupne fizičke RAM memorije i swap datoteke na čvrstom disku. Ovo omogućava operativnom sistemu da dodijeli blokove memorije (stranica) fiksne dužine sa uzastopnim adresama u fizičkoj i virtuelnoj memoriji.
Pokretanje Windows 7 Resource Monitor
Da biste pokrenuli Windows 7 Resource Monitor, otvorite Start meni (Start), otkucajte "Resmon.exe" u traku za pretragu i kliknite . U prozoru koji se otvori odaberite karticu "Memorija" (Memorija, sl. A).
Slika A Kartica Memorija u Windows 7 Resource Monitor pruža detaljne informacije o dodjeli memorije.
Tabela "Procesi"
Kartica Memorija ima tabelu Procesi (slika B) koja navodi sve pokrenute procese, sa upotrebom memorije podeljenom u nekoliko kategorija.
Slika B Informacije o upotrebi memorije za svaki proces podijeljene su u nekoliko kategorija.
Kolona "Slika"
Kolona Slika sadrži naziv izvršne datoteke procesa. Procese koje su pokrenule aplikacije vrlo je lako prepoznati - na primjer, proces "notepad.exe" očigledno pripada Notepad-u (Notepad). Procesi pod nazivom "svchost.exe" predstavljaju različite usluge operativnog sistema. Naziv usluge je dat u zagradi pored naziva procesa.
Stupac ID procesa
Stupac ID procesa (PID) sadrži broj procesa, jedinstvenu kombinaciju brojeva koja identifikuje pokrenuti proces.
Kolona "Završeno"
Kolona Urezivanje pokazuje količinu virtuelne memorije, u kilobajtima, koju je sistem rezervisao za ovaj proces. Ovo uključuje i korišćenu fizičku memoriju i stranice pohranjene u datoteci stranične memorije.
Kolona "Radni set"
Kolona Radni skup pokazuje količinu fizičke memorije, u kilobajtima, koju proces trenutno koristi. Radni set se sastoji od zajedničke i privatne memorije.
Kolona "Općenito"
Kolona za dijeljenje prikazuje količinu fizičke memorije, u kilobajtima, koju ovaj proces dijeli s drugima. Korištenje jednog memorijskog segmenta ili swap stranice za povezane procese štedi memorijski prostor. U ovom slučaju, samo jedna kopija stranice je fizički pohranjena, koja se zatim preslikava u virtualni adresni prostor drugih procesa koji joj pristupaju. Na primjer, svi procesi pokrenuti sistemskim DLL-ovima - Ntdll, Kernel32, Gdi32 i User32 - koriste zajedničku memoriju.
Kolona "Privatno"
Kolona Privatno označava količinu fizičke memorije, u kilobajtima, koju isključivo koristi ovaj proces. Ova vrijednost vam omogućava da odredite koliko memorije treba da radi određena aplikacija.
Kolona "Greške odsustva stranice u memoriji / sek."
U koloni "Greške bez memorije stranice / sek." (Hard Faults/sec) označava prosječan broj grešaka memorijske stranice u sekundi u posljednjem minutu. Ako proces pokušava da iskoristi više fizičke memorije nego što je trenutno dostupno, sistem upisuje neke od podataka iz memorije na disk – datoteku stranične memorije. Naknadni pristup podacima sačuvanim na disku naziva se greška stranice bez memorije.
Na šta ukazuju greške na izlazu stranice?
Sada kada imate ideju o tome koje informacije se prikupljaju u tabeli Procesi, hajde da vidimo kako ih koristiti za nadgledanje alokacije memorije. Kako se aplikacije pokreću i rade s datotekama, upravitelj memorije prati veličinu radnog skupa za svaki proces i bilježi zahtjeve za dodatnim memorijskim resursima. Kako se radni skup procesa povećava, dispečer usklađuje ove zahtjeve s potrebama kernela i drugih procesa. Ako nema dovoljno dostupnog adresnog prostora, dispečer smanjuje radni skup čuvanjem podataka iz memorije na disk.
Kasnije, prilikom čitanja ovih podataka sa diska, dolazi do greške stranice bez memorije. Ovo je sasvim normalno, ali ako se greške javljaju istovremeno za različite procese, sistemu je potrebno dodatno vrijeme da pročita podatke s diska. Prečeste greške stranica bez memorije, odnosno, smanjuju performanse sistema. Vjerovatno ste doživjeli neočekivano usporavanje u svim aplikacijama, koje je potom također iznenada prestalo. Gotovo sigurno, ovo usporavanje je bilo zbog aktivne preraspodjele podataka između fizičke memorije i zamjene.
Ovo dovodi do zaključka da ako se greške nedostatka memorije za određeni proces javljaju prečesto i redovno, računar nema dovoljno fizičke memorije.
Da biste olakšali praćenje procesa koji uzrokuju česte greške stranica bez memorije, možete ih označiti zastavicama. Ovo će pomjeriti odabrane procese na vrh liste, a graf greške stranice bez memorije će biti predstavljen narandžastom krivom.
Imajte na umu da dodjela memorije ovisi o nizu drugih faktora, a praćenje grešaka izvan stranice nije najbolji niti jedini način za identifikaciju problema. Međutim, može poslužiti kao dobra polazna tačka za posmatranje.
Tabela "Fizička memorija"
Tabela Procesi pruža detaljne informacije o tome kako se memorija dodeljuje pojedinačnim procesima, dok tabela fizičke memorije daje opštu sliku korišćenja RAM-a. Njegova ključna komponenta je jedinstveni histogram prikazan na Sl. C.
Slika C. Trakasti grafikon u tabeli Fizička memorija pruža pregled alokacije memorije u operativnom sistemu Windows 7.
Svaki dio histograma označen je svojom bojom i predstavlja određenu grupu memorijskih stranica. Kako se sistem koristi, menadžer memorije premešta podatke između ovih grupa u pozadini, održavajući delikatnu ravnotežu između fizičke i virtuelne memorije kako bi sve aplikacije efikasno radile. Pogledajmo pobliže histogram.
Sekcija "Rezervisana oprema"
Na lijevoj strani je odjeljak "Hardver Reserved", označen sivom bojom: ovo je memorija dodijeljena za potrebe povezane opreme koju koristi za interakciju s operativnim sistemom. Memorija rezervirana za hardver je zaključana i upravitelj memorije joj ne može pristupiti.
Obično je količina memorije koja se dodjeljuje hardveru između 10 i 70 MB, ali ova brojka ovisi o specifičnoj konfiguraciji sistema i u nekim slučajevima može doseći nekoliko stotina megabajta. Komponente koje utječu na količinu rezervirane memorije uključuju:
;
Komponente matična ploča- na primjer, napredni programabilni kontroler prekida ulaza/izlaza (APIC);
zvučne kartice i drugi uređaji koji obavljaju memorijski mapirani ulaz/izlaz;
PCI Express (PCIe) sabirnica;
video kartice;
razni čipsetovi;
fleš diskovi.
Neki korisnici se žale da njihovi sistemi imaju nenormalno veliku količinu memorije rezervisane za hardver. Nikada se nisam susreo sa takvom situacijom i stoga ne mogu jamčiti za efikasnost predloženog rješenja, ali mnogi primjećuju da ažuriranje verzije BIOS-a rješava problem.
Odjeljak "Korišćeno"
Odjeljak U upotrebi, slika C, označen u zelenoj boji, predstavlja količinu memorije koju koriste sistem, upravljački programi i pokrenuti procesi. Količina korištene memorije izračunava se kao vrijednost "Ukupno" (Ukupno) minus zbir indikatora "Promijenjeno" (Izmijenjeno), "Čekanje" (Pripravnost) i "Slobodno" (Besplatno). Zauzvrat, vrijednost "Ukupno" je indikator "Instalirano" (Instalirani RAM) minus indikator "Rezervirana oprema".
Odjeljak "Promijenjeno"
Označen narandžastom bojom je odjeljak "Izmijenjeno", koji prikazuje modificiranu, ali neiskorištenu memoriju. Zapravo, ne koristi se, ali se može ponovo aktivirati u bilo kojem trenutku ako je potrebno. Ako memorija nije korišćena duže vreme, podaci se prenose u datoteku za pejdžing, a memorija prelazi u kategoriju Standby.
Odjeljak "Čekanje"
Odjeljak na čekanju, prikazan plavom bojom, predstavlja memorijske stranice koje su uklonjene iz radnih skupova, ali su i dalje povezane s njima. Drugim riječima, kategorija na čekanju je zapravo keš memorija. Memorijske stranice u ovoj kategoriji imaju prioritet od 0 do 7 (maksimalno). Stranice povezane sa procesima visokog prioriteta dobijaju najviši prioritet. Na primjer, dijeljeni procesi imaju visoki prioritet, tako da se njihovim povezanim stranicama daje najviši prioritet u kategoriji na čekanju.
Ako su procesu potrebni podaci sa stranice na čekanju, upravitelj memorije odmah vraća tu stranicu u radni skup. Međutim, sve stranice u kategoriji Na čekanju su dostupne za pisanje podataka iz drugih procesa. Kada proces treba dodatna memorija, a nema dovoljno slobodne memorije, upravitelj memorije bira stranicu na čekanju s najnižim prioritetom, inicijalizira je i dodjeljuje je procesu koji traži.
Odjeljak "Besplatno"
Blue Free kategorija predstavlja stranice memorije koje još nisu dodijeljene nijednom procesu ili koje su oslobođene nakon što proces izađe. Ova sekcija prikazuje i neiskorištenu i već oslobođenu memoriju, ali u stvari, još neiskorištena memorija spada u drugu kategoriju - "Nulte stranice" (Nulta stranica), koja je tako nazvana jer su ove stranice inicijalizirane na nulu i spremne za korištenje.
O problemu slobodne memorije
Sada kada imate osnovnu ideju o tome kako funkcionira upravitelj memorije, pogledajmo na brzinu uobičajenu zabludu o sistemu upravljanja memorijom u sustavu Windows 7. C, dio slobodne memorije jedan je od najmanjih u histogramu. Međutim, pogrešno je pretpostaviti na osnovu toga da Windows 7 troši previše memorije i da sistem ne može ispravno raditi ako ima tako malo slobodne memorije.
U stvari, sasvim je suprotno. U kontekstu Windows 7 pristupa upravljanju memorijom, slobodna memorija je beskorisna. Što je više memorije uključeno, to bolje. Maksimalno popunjavanjem memorije i neprestanim premeštanjem stranica iz jedne kategorije u drugu koristeći sistem prioriteta, Windows 7 poboljšava efikasnost i sprečava ulazak podataka u datoteku stranice, sprečavajući da greške stranice uspore performanse.
Praćenje memorije
Želim vidjeti kontrolni sistem Windows memorija 7 u akciji? Ponovo pokrenite računar i odmah nakon pokretanja otvorite Windows 7 Resource Monitor. Idite na karticu Memorija i obratite pažnju na odnos sekcija u histogramu fizičke memorije.
Zatim pokrenite pokretanje aplikacija. Dok trčite, gledajte kako se histogram mijenja. Trčanje što je prije moguće više aplikacija, počnite ih zatvarati jedan po jedan i gledati kako se mijenja omjer sekcija u histogramu fizičke memorije.
Radeći ovaj ekstremni eksperiment, shvatićete kako Windows 7 upravlja memorijom na vašem računaru i možete koristiti Windows 7 Resource Monitor da nadgledate alokaciju memorije u normalnim svakodnevnim radnim uslovima.
Šta ti misliš?
Da li vam se sviđa ideja da koristite Windows 7 Resource Monitor za praćenje raspodjele memorije? Podijelite svoje mišljenje u komentarima!
Priključili ste novi uređaj, ali se ne žuri s radom, ili je stari uređaj prestao da radi ili ne radi ispravno. Šta učiniti u ovim slučajevima? Ponovno instalirati sve? To je gnjavaža i nije uvijek neophodna. Kako saznati šta je razlog i kako ga otkloniti? Veoma jednostavno. Činjenica je da u operativnom sistemu Windows porodice, i ne samo, ima ihMenadžer uređaja, u stvari, veoma potreban i koristan menadžer, ako ga možete tako nazvati. Evo ga, pomoći će nam da otkrijemo šta je uzrok problema, a moj cheat sheet će riješiti problem. Dakle, u gore navedenomMenadžer uređaja postoje tragovi grešaka u radu uređaja u obliku kodova. Poznavajući kod greške, lako je utvrditi uzrok problema. Za neupućene, šifre su samo nerazumljivi i besmisleni brojevi. Ali dobro upućenom korisniku mogu puno reći. Pokušaću da malo rasvetlim ovu temu.
Da bismo vidjeli greške uređaja, prvo moramo ući u sam Device Manager. To se radi ovako. Prijavite seKontrolna tabla iz menijaZapočni ( može,Moj kompjuter , desni klikSvojstva — Menadžer uređaja, a moguće je i kroz zadatak komande uizvršiti , ali čemu komplikovati stvari). Ako uđemo krozPanel menadžment , tada je put:Sistem - Hardver - Upravljač uređajima . Odaberite ulaskom u meniMenadžer uređaja , tip uređaja koji nas zanima (tastatura, štampač, modem, itd.), dvaput kliknite na njega, kao rezultat ćemo vidjeti uređaje koji su uključeni u ovu vrstu. Odaberite uređaj koji nam je potreban i dvaput kliknite na njega. Gledamo kolonu na kartici Aboutopćenito, status uređaja. Ako postoji problem s radom uređaja, ovdje će se prikazati kao kod greške. Dakle, vidimo brojeve i brojeve. Šta oni zastupaju. U nastavku dajem kompletnu listu grešaka, sa kratkim opisom greške i mogućim rešenjima. Šifra greške je istaknuta crvenom bojom, njen opis plavom, a eliminacija crnom.
Šifra 1Postoji problem sa podešavanjem uređaja, postavke nisu tačne ili nedostaje upravljački program. Kliknite na dugme Ažurirajte drajver , za pokretanje čarobnjakaNadogradnja hardvera . Ako uopšte nema drajvera, instalirajte ga.
Šifra 3Drajver uređaja je oštećen, kao opcija nema dovoljno RAM-a za ispravan rad uređaja.1. Uklonite oštećeni drajver i instalirajte novi. Da biste to učinili: Svojstva - Upravljački program - Izbriši, zatim slijedite upute čarobnjaka. Ponovo pokreni. Ponovo otvaramoMenadžer uređaja — Akcija — Ažurirajte konfiguraciju hardvera i slijedite upute majstora. 2. Ako je problem nedostatak virtuelne memorije, zatvorite pokrenute aplikacije da biste oslobodili memoriju. Da bismo provjerili stanje memorije u koje moramo ućiTask Manager , da biste to učinili, pritisnite kombinaciju tipkiCtrl+Shift+Esc.Postavke virtuelne memorije možemo vidjeti desnim klikomMoj kompjuter — Svojstva - Napredno - Performanse - Postavke (Opcije) . Možete pokušati povećati swap datoteku (opisao sam kako se to radi u jednom od prethodnih članaka na mom blogu), ali ovo je daleko od drastične mjere. Morate povećati RAM. Kako se to radi je posebna tema koja izlazi iz okvira ovog posta.
Šifra 10Ključ registratora ima postavku specifičnu za uređajFailReasonString,vrijednost ovog parametra se prikazuje u podacima o grešci, odnosno ako ne postoji parametar kao takav, tada se pojavljuje kod greške, drugim riječima, uređaj se ne može pokrenuti. Ažurirajte drajver kao gore. Ili instalirajte noviju.
Šifra 12Za ovaj uređaj nije potrebna zaliha resursa. Onemogućite druge pokrenute uređaje, barem jedan, da biste to učinili, koristite čarobnjaka za rješavanje problema, koji će, ako slijedite njegova uputstva, onemogućiti konfliktni uređaj. (Ukratko, da vas podsjetim: Svojstva - Općenito - Rješavanje problema.)
Šifra 14Za rad ovog uređaja potrebno je ponovno pokretanje računara.
Šifra 16Nije moguće identificirati resurse koji su potrebni za rad uređaja, uređaj nije u potpunosti konfiguriran. Morate dodijeliti dodatne resurse uređaju. Ali to se može učiniti bez problema ako uređaj pripadaUključi i igraj.
Svojstva - Resursi. Ako postoji resurs sa znakom ? na listi resursa, odaberite ga da biste ga dodijelili odabranom uređaju. Ako se resurs ne može promijeniti, kliknitePromijenite postavke , ako ova funkcija nije dostupna, poništite izbor u poljuAutomatsko podešavanje
Šifra 18Ponovo instalirajte drajver uređaja. Pokušavamo ažurirati drajver ili ga ukloniti i to učiniti, kao u primjeru sakod 3.
Šifra 19Nedovoljno informacija u registru o postavkama uređaja ili su postavke oštećene. TrčiČarobnjak za rješavanje problema i slijedite njegove upute, to neće pomoći - ponovo instalirajte uređaj, kao što je gore navedeno. (šifra 3). Ili, ako to ne uspije, preuzmiteZadnja poznata dobra konfiguracija. Ako to ne pomogne, potrebna vam je pomoć stručnjaka, jer je potrebno urediti sistemski registar. U nedostatku znanja i iskustva, sami nemate šta da radite, to će vam potvrditi bilo koji sistem administrator. Zna i ume, on to zna i bez mene. A za neiskusne je bolje da ne pokušavaju. Registar je srce operativnog sistema i samo iskusni stručnjak, ili pod njegovim vodstvom, treba da obavlja operacije na njemu. Ni na koji način ne želim nikoga da uvrijedim, ali ako niste radili sa sistemskim registrom i ako vam je računar drag, moj savjet je da zaboravite put do tamo. Ne pišem za profesionalce, njima to ne treba, već za prosječnog korisnika. Naravno, tu mogu da napišem kako i šta da radim, ali ovo će biti objašnjenje na prste, a ako ti i najmanjom greškom oštetiš računar, ja ću biti kriv. Meni uopšte ne treba, a ni tebi.
Šifra 21 Uređaj je uklonjen iz sistema, odnosno operativni sistem pokušava da ukloni uređaj, ali proces još nije završen.
Pauzirajte nekoliko sekundi i pritisnite tipku
Šifra 22 Uređaj je onemogućen. Uređaj mora biti uključen.Akcija - Omogući i slijedite daljnje upute.
Kod 24 Uređaj nedostaje ili je pogrešno instaliran, upravljački program nije uspio, uređaj je možda pripremljen za uklanjanje. Uklonite uređaj i ponovo ga instalirajte.
Šifra 28 Nema vozača. Instalirajte drajver. Da biste to učinili, morate ažurirati upravljački program, koraci su kao u uputama za Code 1.
Šifra 29Onemogućen uređaj . Morate dozvoliti uređaju da radi postavkeBIOS,pročitajte upute za korištenje uređaja.
Šifra 31Sistem nije mogao učitati drajvere za ovaj uređaj. . Ažurirajte svoje drajvere kao što je gore opisano.
Kod 32Upravljački program za ovaj uređaj je onemogućen u sistemskom registru . Deinstalirajte i ponovo instalirajte drajver (opisano gore)
Kod 33Operativni sistem ne može odrediti resurse za ovo uređaja . Postavite uređaj ili ga zamijenite.
Kod 34Operativni sistem ne može odrediti postavke uređaja . Pregledajte hardversku dokumentaciju koja ste dobili uz njega i ručno ga konfigurirajte na kartici Resursi.
Kod 35Firmver računara nema potrebne informacije za ispravan rad rad uređaja . Treba ažuriratiBIOS.Za upute kako to učiniti obratite se dobavljaču, ali je bolje koristiti usluge iskusnog majstora.
Kod 36Uređaju je potreban prekid za rad.PCI,i uređaj je podešen na prekidje,ili obrnuto . Potrebno je promijeniti postavkeBIOS,obratite se iskusnom majstoru.
Kod 37Operativni sistem ne prepoznaje drajver za ovaj uređaj. . Ponovo instalirajte drajver (opisano gore).
Kod 38OS ne može učitati drajver za uređaj jer, prethodna verzija drajvera ostaje u memoriji . Morate ponovo pokrenuti računar. Pokrenite Čarobnjak za rješavanje problema ako se ne pokrene (Svojstva - Općenito - Rješavanje problema) i slijedite upute čarobnjaka. Nakon obaveznog ponovnog pokretanja.
Kod 39OS ne može učitati drajver uređaja. Driver je oštećen ili nikako . Ponovo instalirajte drajver kao što je gore opisano.
Šifra 40Nema pristupa opremi, jer nema informacija u sistemskom registru ili informacija sadrži grešku . Ponovo instalirajte drajver.
Šifra 41Uređaj nije otkriven . Pokrenite Čarobnjak za rješavanje problema (gore opisan), ako ne pomogne, ažurirajte konfiguraciju hardvera (pogledajte gore) ili ažurirajte upravljački program. Ako ne, instalirajte noviju verziju drajvera.
Šifra 42Sistem već ima takav drajver. Odnosno, postoje dva različitim uređajima sa istim imenom, vjerovatno zbog greške . Ponovo pokrenite računar.
Kod 43Zaustavljanje uređaja zbog problema u njegovom radu . Pokrenite Čarobnjak za rješavanje problema i slijedite njegova uputstva.
Kod 44Aplikacija ili usluga zaustavila je uređaj . Ponovo pokrenite računar.
Kod 45Uređaj nije povezan . Povežite svoj uređaj.
Kod 46Ova greška se pojavljuje kada se operativni sistem isključi. Ništa ne treba raditi, sljedeći put kada pokrenete OS sve će raditi.
Kod 47 Uređaj je pripremljen za sigurno uklanjanje, ali još nije uklonjen (npr. blic) . Uklonite uređaj, zatim ga ponovo uključite, ponovo pokrenite računar.
Kod 48Uređaj, odnosno njegov softver je blokiran . Ažurirajte drajver ili instalirajte novi.
Kod 49Uređaj se ne može pokrenuti jer ima veliku košnicu sistemskog registra koja premašuje dozvoljene postavke registra . Izbrišite uređaje koji se ne koriste iz registra. Ovo možete učiniti: Upravitelj uređaja - Prikaz - Prikaži skrivene uređaje. Ovdje ćete vidjeti skrivene uređaje koji nisu povezani s vašim računarom. Odaberite uređaje koje želite ukloniti, kliknite Svojstva za uređaj - Driver - Deinstaliraj, zatim slijedite upute čarobnjaka i na kraju ponovo pokrenite PC.
Priručnik za uklanjanje virusa s vašeg računala vlastitim rukama. Sve metode uklanjanja virusa zaista rade i dokazane u praksi, instrukcija korak po korak sa ilustracijama - jednostavno i dostupno čak i za školarce + video tutorijali + ultraiso program za kreiranje bootloadera + korisne veze do alata u borbi protiv virusa. Preuzmite arhivu
Mnogi računarski sistemi uključuju neki oblik menadžera memorije (takođe poznat kao menadžer memorije, MMU), pomoću kojeg operativni sistem koji obavlja više zadataka dodeljuje memoriju svakom zadatku i obezbeđuje zaštitu od korisničkih programa. Na primjer, tipičan problem se javlja kada aplikacijski program napravi grešku u izračunavanju adrese, možda koristeći preveliku ili premalu vrijednost indeksa. Ako nema zaštite u sistemu, ova vrsta greške može promijeniti kodove uključene u programe operativnog sistema, ili modificirati tablice uređaja, pa čak i uzrokovati neplanirano pokretanje uređaja sa fatalnim posljedicama, kao što je neovlašteno upisivanje u datoteku podataka.
Pored zaštite operativnog sistema od nenamjernog uništenja, menadžer memorije omogućava automatsko premještanje programa. Upravitelj memorije pretvara logičke ili programske adrese korisničkih programa u fizičke ili hardverske adrese. Ove adrese mogu biti locirane u memoriji potpuno drugačije od onih na koje ukazuju logičke adrese. Translacija adresa rezultira potpunim uklanjanjem operativnog sistema i zaštićenih I/O uređaja iz adresnog prostora korisnika. Svaki pokušaj čitanja ili pisanja u memoriju izvan korisničkog adresnog prostora uzrokuje da procesor sruši program korisnika.
Informacije se obično prenose u komadima koji se sastoje od fiksnog broja bitova; 80386 MP koristi komade od 32 bita osim ako nije naloženo da smanji veličinu komada na 16 bita. Ovi dijelovi se nazivaju riječima. Proces upisivanja riječi u memorijski sistem naziva se unos u memoriju, proces dobijanja riječi iz sjećanja - čitanje iz memorije.
Postoje dvije metode pristupa memoriji: nasumični i sekvencijalni. Sekvencijalni pristup se koristi u onim memorijskim sistemima gdje se riječima pristupa nekim unaprijed određenim redoslijedom. Nasumični pristup, s druge strane, uključuje mogućnost pristupa riječima sistema za skladištenje bilo kojim redoslijedom iu približno istom vremenu.
Bez obzira koliko je memorija savršena, kada signal prolazi između uređaja, dolazi do kašnjenja u njegovom širenju. Kašnjenje širenja je definirano kao vrijeme potrebno da logički signal putuje kroz uređaj ili niz uređaja koji formiraju logički lanac. Ovo kašnjenje također uzima u obzir signal koji prolazi kroz sve međuvezne vodove između mikro krugova.
Direktan pristup memoriji (DMA)
Direktan pristup memoriji omogućava vanjskim uređajima i memoriji direktnu razmjenu podataka bez programske intervencije. DMA pruža maksimalnu I/O brzinu i maksimalan paralelizam procesa. Dok prekidni I/O i softverski kontrolirani I/O prenose podatke kroz procesor, u slučaju DMA, podaci se prenose direktno između I/O uređaja i memorije.
Kako bi se minimizirao broj sabirnica podataka, poduzimaju se posebne mjere kako bi se omogućilo korištenje konvencionalne kičme za RPS. Ove mjere se sastoje u činjenici da procesor oslobađa autoput, a vanjski uređaj ga hvata i koristi za prijenos podataka.
Za vrijeme trajanja RAP-a, izvršavanje programa se obično obustavlja. Trunk se oslobađa čim se aktivira kontrolna linija RAP zahtjeva. Procesor prekida trenutnu operaciju, oslobađa adresne i podatkovne linije i potvrđuje signal na jednoj od kontrolnih linija kako bi spriječio nenamjerno dekodiranje nedefiniranih kontrolnih signala.
I/O sučelje prenosi podatke direktno u memoriju koristeći poseban registar. Kada treba da prenese podatke, interfejs traži od procesora memorijski ciklus. Jednom potvrđeno, interfejs šalje podatke direktno u memoriju dok procesor pauzira jedan memorijski ciklus. Poziva se logika koja izvodi ovaj prijenos kanal.
Kanal sadrži registar za pohranjivanje adrese memorijske lokacije na ili sa koje se podaci prenose.U većini slučajeva kanal uključuje i brojač riječi za brojanje broja izvršenih direktnih prijenosa. Osim toga, kanal mora sadržavati kolo koje osigurava razmjenu kontrolnih signala, sinhronizaciju i druge pomoćne operacije. Na sl. 13.4 prikazuje logičke veze između CPU-a i PDP kontrolera.
RAP komponente. Glavne komponente DMA su okidač zahtjeva, registar adresa, brojač i registar podataka koji koristi periferija. Prosleđivanje podataka preko DMA kanala uključuje nekoliko koraka: 1) inicijalizaciju DMA logike za obavljanje DMA tokom ponovljenih ciklusa zauzimanja okosnice; 2) asinhroni u odnosu na aktiviranje programskih operacija RAP-a; 3) obaveštenje o završetku prenosa (na signal sa šaltera ili kao posledica promene stanja uređaja); 4) pozivanje programa "čišćenja" na kraju prenosa; 5) završetak DMA uz pomoć rukovaoca prekida, koji vraća kontrolu glavnom programu.
Blokiraj prijenos podataka. DMA procedura za uređaje velike brzine koristi prijenos podataka u blokovima. Izvršavanjem trenutnog programa, procesor pokreće prijenos bloka podataka i određuje broj riječi koje čine blok. Međutim, stvarni prijenos riječi obavlja se pod kontrolom posebnog uređaja - PMA kontrolera. Maksimalna brzina prijenosa bloka preko DMA kanala ograničena je samo trajanjem memorijskog ciklusa (čitanje ili pisanje) i brzinom DMA kontrolera.
RAP sa zauzetošću memorijskog ciklusa. Program inicira prijenos bloka postavljanjem početne adrese u brojač adresa i broja riječi u brojaču riječi. i izdavanje naredbe za pokretanje. Ovaj tip RAP-a se često naziva RAP sa zauzimaju ciklus pamćenja, jer svaki put pauzira izvršavanje programa za otprilike jedan mašinski ciklus.
Kada se koristi DMA sa memorijskim ciklusom, prijenos podataka se vrši paralelno s drugim procesima koje obavlja CPU. Redoslijed radnji ovdje je isti kao i kod prijenosa bloka, s tim što DMA kontroler preuzima memorijske cikluse od procesora i samim tim usporava njegov rad (blokirajte prijenos podataka preko DMA kanala također uzima memorijski ciklusi, osim ako se DMA ne koristi na zasebnoj magistrali).
Kada se proces pokrene u Windows-u, mnoge stranice koje prikazuju slike EXE i DLL datoteka možda su već u memoriji jer ih koriste drugi procesi. Stranice sa slikama koje se mogu pisati imaju oznaku "kopiraj-na-piši" tako da se mogu dijeliti dok ih ne treba mijenjati. Ako operativni sistem prepozna EXE koji je već bio pokrenut, može napisati obrazac veze na stranicu (koristeći tehniku koju Microsoft naziva Super-Fetch). Ova tehnologija pokušava unaprijed dohvatiti mnogo potrebnih stranica (iako proces još nije primio greške stranice na njima). Ovo smanjuje latenciju pokretanja aplikacija (čitanje stranica sa diska je superponirano na izvršavanje inicijalizacionog koda slika). Ova tehnologija poboljšava izlazne performanse diska tako što olakšava drajverima diska da orkestriraju operacije čitanja (kako bi se smanjilo potrebno vrijeme traženja). Ovaj proces prethodnog preuzimanja se takođe koristi tokom pokretanja sistema, kao i kada pozadinska aplikacija dođe u prvi plan i kada sistem nastavlja iz hibernacije.
Straničenje prema naprijed podržano je od strane menadžera memorije, ali je implementirano kao posebna komponenta sistema. Zamijenjene stranice se ne ubacuju u tabelu stranica procesa, već se ubacuju u listu pripravnosti, iz koje se mogu brzo ubaciti u proces (bez pristupa disku).
Nemapirane stranice su nešto drugačije - ne inicijaliziraju se čitanjem iz datoteke. Umjesto toga, prvi put kada se pristupi nekoj nemapiranoj stranici, upravitelj memorije daje novu fizičku stranicu (provjeravajući da je njen sadržaj popunjen nula, iz sigurnosnih razloga). U narednim greškama stranice, nemapiranu stranicu možda treba pronaći u memoriji ili pročitati iz zamjenske datoteke.
Straničenje po zahtjevu u upravitelju memorije je kontrolirano greškama stranice. Svaka greška uzrokuje prekid kernela. Kernel tada pravi mašinski nezavisan ručnik (koji izveštava šta se dogodilo) i prosleđuje ga upravljaču memorije za izvršavanje. Upravitelj memorije zatim provjerava ispravnost pristupa. Ako neuspješna stranica spada u urezano područje, onda traži adresu na VAD listi i pronalazi (ili kreira) unos u tablicu stranica procesa. U slučaju dijeljene stranice, upravitelj memorije koristi unos tablice prototipa stranice (pridružen objektu segmenta) da popuni novi unos tablice stranice procesa.
Format unosa u tablicu stranica razlikuje se ovisno o arhitekturi procesora. Za x86 i x64 procesore, elementi prikazane stranice su prikazani na sl. 11.17. Ako je element označen kao važeći, tada njegov sadržaj tumači hardver (tako da se virtuelna adresa može prevesti u ispravnu fizičku stranicu). Nerenderirane stranice također imaju svoje elemente, ali su oni označeni kao nevažeći i hardver ignorira ostatak elementa. Softverski format se malo razlikuje od hardverskog formata i određuje ga upravitelj memorije. Na primjer, za nemapiranu stranicu (koja mora biti postavljena i nulirana prije upotrebe), ova činjenica je zabilježena u unosu u tablicu stranica.
Dva važna bita unosa u tablicu stranica se ažuriraju direktno od strane hardvera. To su pristupni bit (A) i promijenjeni bit (D). Ovi bitovi prate upotrebu datog mapiranja stranice za pristup stranici i da li se stranica može modificirati tim pristupom. Ovo zaista poboljšava performanse sistema jer upravitelj memorije može koristiti pristupni bit za implementaciju stranica sa najmanje nedavno korištenim (LRU). Princip LRU-a je da one stranice koje se najduže ne koriste imaju najmanje šanse da budu ponovo korištene u bliskoj budućnosti. Pristupni bit omogućava upravitelju memorije da utvrdi da je stranici pristupljeno. "Modified" bit govori menadžeru memorije da je stranica možda izmijenjena (ili, što je još važnije, nije modificirana). Ako stranica nije izmijenjena otkako je pročitana s diska, tada upravitelj memorije ne treba da upisuje njen sadržaj na disk (prije nego što je koristi za nešto drugo).
I x86 i x64 arhitekture koriste 64-bitni unos u tablicu stranica (pogledajte sliku 11.17).
Svaka greška stranice može se klasificirati u jednu od pet kategorija:
1. Stranica nije popravljena.
2. Pokušaj pristupa stranici s kršenjem dozvole.
3. Pokušaj izmijeniti stranicu za kopiranje pri pisanju.
1. Potrebno je povećati stog.
2. Stranica je fiksna, ali trenutno nije prikazana.
Prvi i drugi slučaj su programske greške. Ako program pokuša upotrijebiti adresu koja nema valjano mapiranje ili pokuša izvršiti nezakonitu operaciju (kao što je pokušaj pisanja na stranicu samo za čitanje), to se naziva kršenje pristupa i obično rezultira prekidom proces. Kršenje pristupa često je rezultat nevažećih vrijednosti pokazivača, uključujući pristup memoriji koja je oslobođena i odvojena od procesa.
Treći slučaj ima iste simptome kao i drugi (pokušaj pisanja na stranicu samo za čitanje), ali je rukovanje drugačije. Budući da je stranica označena kao kopiranje na upisivanje, upravitelj memorije ne izaziva kršenje pristupa. Umjesto toga, pravi privatnu kopiju stranice za trenutni proces, a zatim se vraća na nit koja je pokušala pisati na stranicu. Nit ponovo pokušava operaciju pisanja, koja će se sada završiti bez greške stranice.
Četvrti slučaj se događa kada nit gurne vrijednost na svoj stog i pogodi stranicu koja još nije dodijeljena. Upravitelj memorije to prepoznaje kao poseban slučaj. Sve dok ima mjesta u virtualnim stranicama rezerviranim za stog, upravitelj memorije će dostaviti nove stranice, nulirati ih i mapirati ih u proces. Kada nit nastavi sa izvršavanjem, ponovo će pokušati pristup i ovaj put će uspjeti.
I konačno, peti slučaj je uobičajena greška stranice. Međutim, ima nekoliko podvarijanti. Ako je stranica mapirana u datoteku, tada upravitelj memorije mora ispitati njene strukture podataka (kao što je prototipska tablica stranica povezana s objektom segmenta) kako bi osigurao da u memoriji nema njene kopije. Ako postoji kopija (na primjer, u drugom procesu, na listi pripravnosti ili na listi modificiranih stranica), onda će je jednostavno učiniti podijeljenom (možda će je morati označiti kao kopiranje na pisanje da bi to učinilo ako se promjene ne dijele). Ako još nema kopije, upravitelj memorije će dodijeliti slobodnu fizičku stranicu i pripremiti je za kopiranje stranice datoteke sa diska na nju, osim ako se u tom trenutku ne prenosi druga stranica s diska (u tom slučaju vam je samo potrebno čekati dok se ovaj prijenos ne završi).
Ako menadžer memorije može da obradi grešku stranice pronalaženjem ispravne stranice u memoriji (umesto da je čita sa diska), onda se greška naziva mekom greškom. Ako vam je potrebna kopija s diska, onda je ovo teška greška. Meke greške su mnogo jeftinije i imaju mali uticaj na performanse aplikacije (u poređenju sa tvrdim greškama). Meke greške se mogu pojaviti jer je zajednička stranica već mapirana u drugi proces, ili je jednostavno potrebna nova stranica sa nultom, ili je željena stranica uklonjena iz radnog skupa procesa, ali je vraćena prije nego što se ponovo koristi. Meke greške se također mogu pojaviti jer su stranice komprimirane kako bi se efektivno povećala veličina fizičke memorije. Za većinu CPU konfiguracija, efikasnije je komprimirati memoriju i I/O u trenutnim sistemima, umjesto da trošite skupe I/O (u smislu performansi i snage) koji zahtijeva čitanje stranice s diska.
Kada fizička stranica više nije mapirana u tablicu stranica bilo kojeg procesa, ona se stavlja na jednu od tri liste: slobodna, modificirana ili rezervirana. Stranice koje više nikada nisu potrebne (kao što su stranice steka procesa koji se završava) se odmah oslobađaju. Stranice koje mogu ponovo imati grešku na stranici nalaze se ili na izmijenjenoj listi ili na rezervnoj listi (u zavisnosti od toga da li je "modificirani" bit postavljen za bilo koji element tablice stranica koji je prikazao ovu stranicu od posljednjeg čitanja s diska). Stranice sa modifikovane liste će na kraju biti zapisane na disk, a zatim prebačene na rezervnu listu.
Upravitelj memorije može dodijeliti stranice po potrebi (koristeći listu slobodnih ili rezerviranih stranica). Prije dodjele stranice i kopiranja sa diska, upravitelj memorije uvijek provjerava liste rezerviranih i izmijenjenih stranica da vidi da li je stranica već u memoriji. Shema stranica u Windows-u pretvara buduće teške greške u one meke (čitanjem stranica koje bi mogle biti potrebne i stavljanjem ih na rezervnu listu). Upravitelj memorije sam obavlja malu količinu stranica - pristupa grupama uzastopnih stranica (a ne pojedinačnim stranicama). Dodatne stranice se odmah stavljaju na rezervnu listu stranica. Ovo nije gubitak, budući da su troškovi upravljanja memorijom mnogo manji od troškova izvođenja I/O operacija. Čitanje cijele grupe stranica je nešto skuplje od čitanja jedne stranice.
Elementi tabele stranice na sl. 11.17 odnosi se na fizičke (ne virtuelne) brojeve stranica. Kernel treba da koristi virtuelne adrese da ažurira unos tabele stranica (i direktorijum stranica). Windows mapira tabele stranica i direktorije stranica za trenutni proces u virtuelni adresni prostor kernela koristeći element self-map u direktoriju stranica (Slika 11-18). Preslikavanjem unosa direktorija stranica u direktorij stranica (samo-map), dobijamo virtuelne adrese koje se mogu koristiti za upućivanje na unose direktorija stranica (Slika 11.18a) i unose u tablici stranica (Slika 11.18b). Samo-mapa zauzima 8 MB virtualnih adresa kernela po procesu (na x86 procesorima). Radi jednostavnosti, slika prikazuje x86 element self-map za 32-bitne PTE zapise (unosi u tablicu stranica). U stvari, Windows koristi 64-bitne PTE-ove, tako da sistem može koristiti više od 4 GB fizičke memorije. Sa 32-bitnim PTE unosima, element self-map koristi samo jedan PDE unos (Page-Directory Entry) u direktoriju stranica i stoga zauzima samo 4 MB adresa, a ne 8 MB.