Vähän muistista
Ennen kuin siirryn analyysiin, puhun lyhyesti muistin hallinnasta. Sen jälkeen sinun on helpompi ymmärtää, mitä tietoja Windows 7 Resource Monitorissa esitetään.
Windows 7 Memory Manager luo virtuaalisen muistijärjestelmän, joka koostuu käytettävissä olevasta fyysisestä RAM-muistista ja kiintolevyllä olevasta swap-tiedostosta. Tämän ansiosta käyttöjärjestelmä voi varata kiinteän pituisia muistilohkoja (sivuja) peräkkäisillä osoitteilla fyysisessä ja virtuaalisessa muistissa.
Windows 7 Resource Monitor käynnistetään
Käynnistä Windows 7 Resource Monitor avaamalla Käynnistä-valikko (Käynnistä), kirjoittamalla hakupalkkiin "Resmon.exe" ja napsauttamalla . Valitse avautuvasta ikkunasta "Muisti"-välilehti (Muisti, kuva A).
Kuva A Windows 7 Resource Monitorin Muisti-välilehti tarjoaa yksityiskohtaisia muistin varaustietoja.
Taulukko "Prosessit"
Muisti-välilehdellä on Prosessit-taulukko (Kuva B), jossa luetellaan kaikki käynnissä olevat prosessit, ja muistin käyttö on jaettu useisiin luokkiin.
Kuva B Kunkin prosessin muistinkäyttötiedot on jaettu useisiin luokkiin.
Sarake "Kuva"
Kuva-sarake sisältää prosessin suoritettavan tiedoston nimen. Sovellusten käynnistämät prosessit on erittäin helppo tunnistaa - esimerkiksi prosessi "notepad.exe" kuuluu ilmeisesti Notepadiin (Notepad). Prosessit nimeltä "svchost.exe" edustavat erilaisia käyttöjärjestelmäpalveluita. Palvelun nimi on suluissa prosessin nimen vieressä.
Prosessin tunnus -sarake
Prosessitunnus (PID) -sarake sisältää prosessinumeron, yksilöllisen numeroyhdistelmän, joka tunnistaa käynnissä olevan prosessin.
Sarake "Valmis"
Commit-sarake näyttää virtuaalimuistin määrän kilotavuina, jonka järjestelmä on varannut tätä prosessia varten. Tämä sisältää sekä käytetyn fyysisen muistin että sivutustiedostoon tallennetut sivut.
Sarake "Työjoukko"
Työjoukko-sarake näyttää prosessin tällä hetkellä käyttämän fyysisen muistin määrän kilotavuina. Työsarja koostuu jaetusta ja yksityisestä muistista.
Sarake "Yleistä"
Jaettava-sarake näyttää fyysisen muistin määrän kilotavuina, jonka tämä prosessi jakaa muiden kanssa. Yhden muistisegmentin tai vaihtosivun käyttäminen vastaaviin prosesseihin säästää muistitilaa. Tässä tapauksessa vain yksi kopio sivusta tallennetaan fyysisesti, joka sitten kartoitetaan muiden sitä käyttävien prosessien virtuaaliseen osoiteavaruuteen. Esimerkiksi kaikki järjestelmän DLL-tiedostojen käynnistämät prosessit - Ntdll, Kernel32, Gdi32 ja User32 - käyttävät jaettua muistia.
sarake "yksityinen"
Yksityinen sarake ilmaisee fyysisen muistin määrän kilotavuina, jota tämä prosessi käyttää yksinomaan. Tämän arvon avulla voit määrittää, kuinka paljon muistia tietty sovellus tarvitsee toimiakseen.
Sarake "Virheet sivun puuttumisesta muistissa / s."
Sarakkeessa "Sivun muisti täynnä virheitä / s." (Hard Faults/sec) osoittaa muistisivuvikojen keskimääräisen määrän sekunnissa viimeisen minuutin aikana. Jos prosessi yrittää käyttää enemmän fyysistä muistia kuin tällä hetkellä on käytettävissä, järjestelmä kirjoittaa osan tiedoista muistista levylle - sivutustiedostoon. Levylle tallennettujen tietojen myöhempää käyttöä kutsutaan sivu muistin loppumisesta -virheeksi.
Mitä sivunpoistovirheet kertovat?
Nyt kun sinulla on käsitys siitä, mitä tietoja Prosessit-taulukkoon kerätään, katsotaanpa, kuinka voit käyttää sitä muistin varauksen valvontaan. Kun sovellukset käynnistyvät ja käsittelevät tiedostoja, muistinhallinta pitää kirjaa kunkin prosessin työjoukon koosta ja kaappaa lisämuistiresursseja koskevat pyynnöt. Prosessin työskentelyjoukon kasvaessa lähettäjä sovittaa nämä pyynnöt ytimen ja muiden prosessien tarpeisiin. Jos osoitetilaa ei ole riittävästi, työnvälittäjä pienentää työskentelyjoukkoa tallentamalla tiedot muistista levylle.
Myöhemmin, kun luet näitä tietoja levyltä, tapahtuu sivu muistissa -virhe. Tämä on aivan normaalia, mutta jos virheitä esiintyy samanaikaisesti eri prosesseissa, järjestelmä tarvitsee lisäaikaa tietojen lukemiseen levyltä. Liian usein suoritetut muistin loppumisvirheet heikentävät järjestelmän suorituskykyä. Olet todennäköisesti kokenut odottamattoman hidastumisen kaikissa sovelluksissa, joka sitten yhtäkkiä pysähtyi. Melkein varmasti tämä hidastuminen johtui aktiivisesta datan uudelleenallokoinnista fyysisen muistin ja swapin välillä.
Tämä johtaa siihen johtopäätökseen, että jos tietyn prosessin muistin loppumisvirheitä esiintyy liian usein ja säännöllisesti, tietokoneella ei ole tarpeeksi fyysistä muistia.
Voit helpottaa sellaisten prosessien valvontaa, jotka aiheuttavat usein muistin loppumisvirheitä, merkitsemällä ne lipuilla. Tämä siirtää valitut prosessit luettelon alkuun, ja sivu muisti täynnä -virhekaavio esitetään oranssina käyränä.
Muista, että muistin varaus riippuu useista muista tekijöistä, ja sivun ulkopuolisten virheiden seuranta ei ole paras tai ainoa tapa tunnistaa ongelmia. Se voi kuitenkin toimia hyvänä lähtökohtana havainnointiin.
Taulukko "Fyysinen muisti"
Prosessit-taulukko antaa yksityiskohtaista tietoa muistin varaamisesta yksittäisille prosesseille, kun taas Fyysinen muisti -taulukko antaa yleiskuvan RAM-muistin käytöstä. Sen avainkomponentti on ainutlaatuinen histogrammi, joka näkyy kuvassa. C.
Kuva C. Fyysinen muisti -taulukon pylväskaavio tarjoaa yleiskatsauksen muistin varaamisesta Windows 7:ssä.
Jokainen histogrammin osa on merkitty omalla värillään ja edustaa tiettyä muistisivujen ryhmää. Kun järjestelmää käytetään, muistinhallinta siirtää tietoja näiden ryhmien välillä taustalla ja ylläpitää herkkää tasapainoa fyysisen ja virtuaalisen muistin välillä, jotta kaikki sovellukset toimivat tehokkaasti. Katsotaanpa tarkemmin histogrammia.
Osio "Varatut laitteet"
Vasemmalla on "Hardware Reserved" -osio, joka on merkitty harmaalla: tämä on liitetyn laitteen tarpeisiin varattu muisti, jota se käyttää vuorovaikutukseen käyttöjärjestelmän kanssa. Laitteistolle varattu muisti on lukittu, eikä muistinhallinta voi käyttää sitä.
Yleensä laitteistolle varatun muistin määrä on 10-70 Mt, mutta tämä luku riippuu järjestelmän erityisestä kokoonpanosta ja voi joissain tapauksissa olla jopa useita satoja megatavuja. Varatun muistin määrään vaikuttavia osia ovat:
;
Komponentit emolevy- esimerkiksi edistynyt ohjelmoitava tulo/lähtökeskeytysohjain (APIC);
äänikortit ja muut laitteet, jotka suorittavat muistikartoitettua syöttöä/tulostusta;
PCI Express (PCIe) -väylä;
videokortit;
erilaisia piirisarjoja;
flash-asemat.
Jotkut käyttäjät valittavat, että heidän järjestelmissään on laitteistolle varattu epätavallisen paljon muistia. En ole koskaan törmännyt tällaiseen tilanteeseen, enkä siksi voi taata ehdotetun ratkaisun tehokkuutta, mutta monet huomauttavat, että BIOS-version päivittäminen ratkaisee ongelman.
Osio "Käytetty"
Käytössä-osio, kuva C, merkitty vihreässä, edustaa järjestelmän, ohjainten ja käynnissä olevien prosessien käyttämää muistin määrää. Käytetyn muistin määrä lasketaan arvona "Yhteensä" (yhteensä) vähennettynä ilmaisimien "Muutettu" (Muokattu), "Odottaa" (valmiustila) ja "Vapaa" (vapaa) summa. Arvo "Yhteensä" puolestaan on ilmaisin "Asennettu" (asennettu RAM) miinus ilmaisin "Varattu laite".
Osio "Muutettu"
Oranssilla korostettuna on "Muokattu"-osio, joka näyttää muokatun mutta käyttämättömän muistin. Itse asiassa sitä ei käytetä, mutta se voidaan aktivoida milloin tahansa tarvittaessa uudelleen. Jos muistia ei ole käytetty pitkään aikaan, tiedot siirretään sivutustiedostoon ja muisti siirtyy Standby-luokkaan.
Osio "Odottaa"
Odottaa-osio, joka näkyy sinisellä, edustaa muistisivuja, jotka on poistettu työsarjoista, mutta jotka on edelleen liitetty niihin. Toisin sanoen Odottaa-luokka on itse asiassa välimuisti. Tämän luokan muistisivuille on asetettu prioriteetti 0 - 7 (enintään). Korkean prioriteetin prosesseihin liittyvät sivut saavat korkeimman prioriteetin. Esimerkiksi jaetuilla prosesseilla on korkea prioriteetti, joten niihin liittyvät sivut saavat korkeimman prioriteetin Odottaa-luokassa.
Jos prosessi tarvitsee tietoja odottavalta sivulta, muistinhallinta palauttaa välittömästi kyseisen sivun työjoukkoon. Kaikki Odottaa-luokan sivut ovat kuitenkin käytettävissä muiden prosessien tietojen kirjoittamista varten. Kun prosessi vaatii lisämuistia, ja vapaata muistia ei ole tarpeeksi, muistinhallinta valitsee vireillä olevan sivun, jolla on alhaisin prioriteetti, alustaa sen ja varaa sen pyyntöprosessille.
Osio "Ilmainen"
Blue Free -luokka edustaa muistisivuja, joita ei ole vielä varattu millekään prosessille tai jotka on vapautettu prosessin lopettamisen jälkeen. Tämä osio näyttää sekä käyttämättömän että jo vapautuneen muistin, mutta itse asiassa vielä käyttämätön muisti kuuluu toiseen luokkaan - "Zero Pages" (Zero Pages), jota kutsutaan niin sanotuksi, koska nämä sivut on alustettu nollaan ja valmiita käyttöön.
Tietoja vapaan muistin ongelmasta
Nyt kun sinulla on peruskäsitys muistinhallinnan toiminnasta, katsotaanpa nopeasti yleistä väärinkäsitystä Windows 7:n muistinhallintajärjestelmästä. C, vapaan muistin osuus on yksi histogrammin pienimmistä. On kuitenkin virhe olettaa tällä perusteella, että Windows 7 kuluttaa liikaa muistia ja että järjestelmä ei toimi kunnolla, jos vapaata muistia on niin vähän.
Itse asiassa asia on aivan päinvastoin. Windows 7:n muistinhallinnan lähestymistavan yhteydessä vapaa muisti on hyödytöntä. Mitä enemmän muistia on mukana, sen parempi. Täyttämällä muistia maksimissaan ja siirtämällä sivuja jatkuvasti luokasta toiseen ensisijaisen järjestelmän avulla Windows 7 parantaa tehokkuutta ja estää tietojen pääsyn sivutiedostoon, estäen muistin lopussa olevia sivuvirheitä hidastamasta suorituskykyä.
Muistin valvonta
Haluatko nähdä ohjausjärjestelmän Windowsin muisti 7 toiminnassa? Käynnistä tietokone uudelleen ja avaa Windows 7 Resource Monitor heti käynnistyksen jälkeen. Siirry Muisti-välilehteen ja kiinnitä huomiota fyysisen muistin histogrammin osien suhteeseen.
Aloita sitten sovellusten suorittaminen. Kun juokset, katso histogrammin muutosta. Juoksemaan mahdollisimman pian lisää sovelluksia, aloita niiden sulkeminen yksitellen ja katso kuinka fyysisen muistin histogrammin osien suhde muuttuu.
Suorittamalla tämän äärimmäisen kokeilun ymmärrät, kuinka Windows 7 hallitsee tietyn tietokoneesi muistia, ja voit käyttää Windows 7 Resource Monitoria muistin varaamisen seuraamiseen normaaleissa päivittäisissä työoloissa.
Mitä mieltä sinä olet?
Pidätkö ajatuksesta käyttää Windows 7 Resource Monitoria muistin varauksen valvontaan? Jaa mielipiteesi kommenteissa!
Olet liittänyt uuden laitteen, mutta sillä ei ole kiirettä töihin tai vanha laite on lakannut toimimasta tai ei toimi oikein. Mitä tehdä näissä tapauksissa? Asenna kaikki uudelleen? Se on vaikeeta, eikä se ole aina välttämätöntä. Kuinka selvittää syy ja miten se voidaan poistaa? Erittäin yksinkertainen. Tosiasia on, että Windows-perheen käyttöjärjestelmässä eikä vain, on olemassa, joitainLaitehallinta, itse asiassa erittäin tarpeellinen ja hyödyllinen johtaja, jos voit sanoa häntä sellaiseksi. Tässä se auttaa meitä selvittämään, mikä on ongelman syy, ja huijauslehteni korjaa ongelman. Eli yllä olevassaLaitehallinta laitteiden toiminnassa on jälkiä virheistä koodien muodossa. Kun tiedät virhekoodin, on helppo määrittää ongelman syy. Asiattomalle koodit ovat vain käsittämättömiä ja merkityksettömiä numeroita. Mutta asiantuntevalle käyttäjälle he voivat kertoa paljon. Yritän parhaani mukaan valaista tätä aihetta.
Jos haluat tarkastella laitevirheitä, meidän on ensin syötettävä itse Laitehallinta. Se tehdään näin. Kirjaudu sisäänOhjauspaneeli valikostaAlkaa ( Voiko,Minun tietokone , oikealla painikkeellaOminaisuudet — Laitehallinta, ja se on mahdollista myös komennon tehtävän kauttasuorittaa , mutta miksi asioita monimutkaistaa). Jos astumme sisäänPaneeli hallinta , niin polku on:Järjestelmä - Laitteisto - Laitehallinta . Valitse siirtymällä valikkoonLaitehallinta , laitetyyppi, josta olemme kiinnostuneita (näppäimistö, tulostin, modeemi jne.), kaksoisnapsauta sitä, jolloin näemme tähän tyyppiin kuuluvat laitteet. Valitse tarvitsemamme laite ja kaksoisnapsauta sitä. Tarkastelemme Tietoja-välilehden sarakettayleinen, laitteen tila. Jos laitteen toiminnassa on ongelma, se näytetään tässä virhekoodina. Joten näemme numeroita ja numeroita. Mitä he edustavat. Alla on täydellinen luettelo virheistä sekä lyhyt kuvaus virheestä ja mahdollisista ratkaisuista. Virhekoodi on korostettu punaisella, sen kuvaus sinisellä ja poisto mustalla.
Koodi 1Laitteen asetusongelma oikeat asetukset tai kuljettaja puuttuu. Napsauta painiketta Päivitä ohjain , käynnistääksesi ohjatun toiminnonLaitteiston päivitys . Jos ohjainta ei ole ollenkaan, asenna se.
Koodi 3Laiteohjain on vaurioitunut, koska vaihtoehtona ei ole tarpeeksi RAM-muistia, jotta laite toimisi oikein.1. Poista vaurioitunut ohjain ja asenna uusi. Voit tehdä tämän seuraavasti: Ominaisuudet - Ohjain - Poista ja noudata ohjatun toiminnon ohjeita. Käynnistä uudelleen. Avaamme jälleenLaitehallinta — Toiminta — Päivitä laitteistokokoonpano ja noudata ohjatun toiminnon ohjeita. 2. Jos ongelma johtuu näennäismuistin puutteesta, sulje käynnissä olevat sovellukset muistin purkamiseksi. Tarkistaaksemme muistin tilan meidän on päästävä sisäänTehtävienhallinta , tehdä tämä painamalla näppäinyhdistelmääCtrl+Shift+Esc.Näemme virtuaalisen muistin asetukset napsauttamalla hiiren kakkospainikkeellaTietokoneeni — Ominaisuudet - Lisäasetukset - Suorituskyky - Asetukset (parametrit) . Voit yrittää lisätä swap-tiedostoa (kuvasin, kuinka tämä tehdään yhdessä blogini aiemmista artikkeleista), mutta tämä ei ole kaukana radikaalista toimenpiteestä. Sinun on lisättävä RAM. Kuinka tämä tehdään, on erillinen aihe, joka ylittää tämän viestin.
Koodi 10Rekisteriavaimella on laitekohtainen asetusFailReasonString,tämän parametrin arvo näkyy virhetiedoissa, eli jos parametria ei sellaisenaan ole, tulee virhekoodi, eli laitetta ei voida käynnistää. Päivitä ajuri kuten yllä. Tai asenna uudempi.
Koodi 12Tälle laitteelle ei tarvita resursseja. Poista käytöstä muut käynnissä olevat laitteet, ainakin yksi, tehdäksesi tämän käyttämällä ohjattua vianetsintätoimintoa, joka, jos noudatat sen ohjeita, poistaa ristiriitaisen laitteen käytöstä. (Lyhyesti sanottuna, haluan muistuttaa sinua: Ominaisuudet - Yleistä - Vianetsintä.)
Koodi 14Vaatii tietokoneen uudelleenkäynnistyksen, jotta tämä laite toimii.
Koodi 16Laitteen toiminnan kannalta välttämättömiä resursseja ei ole mahdollista tunnistaa, laitetta ei ole täysin konfiguroitu. Sinun on määritettävä lisäresursseja laitteelle. Mutta tämä voidaan tehdä ilman ongelmia, jos laite kuuluuPlug and play.
Ominaisuudet - Resurssit. Jos resurssiluettelossa on resurssi, jossa on ?-merkki, valitse se määrittääksesi sen valitulle laitteelle. Jos resurssia ei voi muuttaa, napsautaVaihda asetuksia , jos tämä toiminto ei ole käytettävissä, poista valinta ruudustaAutomaattinen asetus
Koodi 18Asenna laiteohjain uudelleen. Yritämme päivittää ohjaimen tai poistaa sen ja tehdä sen kuten esimerkissäkoodi 3.
Koodi 19Rekisterissä ei ole riittävästi tietoja laitteen asetuksista tai asetukset ovat vioittuneet. JuostaOhjattu vianetsintätoiminto ja seuraa hänen ohjeitaan, se ei auta - asenna laite uudelleen, kuten yllä mainittiin. (koodi 3). Tai jos se ei auta, lataaViimeisin tunnettu hyvä kokoonpano. Jos tämä ei auta, tarvitset asiantuntijan apua, koska järjestelmärekisterin muokkaaminen on välttämätöntä. Koska sinulla ei ole tietoa ja kokemusta, sinun ei tarvitse tehdä siellä mitään, kuka tahansa järjestelmänvalvoja vahvistaa tämän puolestasi. Hän tietää ja osaa, hän osaa tehdä sen ilman minua. Ja kokemattomien on parempi olla yrittämättä. Rekisteri on käyttöjärjestelmän sydän ja vain kokenut asiantuntija tai hänen ohjauksessaan saa suorittaa toimenpiteitä sillä. En halua millään tavalla loukata ketään, mutta jos et ole työskennellyt järjestelmärekisterin kanssa ja jos tietokoneesi on sinulle rakas, neuvoni on unohtaa tiesi sinne. En kirjoita ammattilaisille, he eivät tarvitse sitä, vaan tavalliselle käyttäjälle. Tietysti voin kirjoittaa, miten ja mitä tehdä siellä, mutta tämä on selitys sormille, ja jos vaurioitat tietokonettasi pienimmänkin virheen seurauksena, olen syyllinen. En tarvitse sitä ollenkaan, etkä sinäkään.
Koodi 21 Laite poistetaan järjestelmästä, ts. käyttöjärjestelmä yrittää poistaa laitetta, mutta prosessi ei ole vielä valmis.
Pysäytä muutama sekunti ja paina näppäintä
Koodi 22 Laite on poistettu käytöstä. Laitteen on oltava päällä.Toiminto - Ota käyttöön ja noudata lisäohjeita.
Koodi 24 Laite puuttuu tai on asennettu väärin, ajuri on epäonnistunut, laite on ehkä valmisteltu poistettavaksi. Irrota laite ja asenna se uudelleen.
Koodi 28 Ei ole kuljettajaa. Asenna ohjain. Tätä varten sinun on päivitettävä ohjain, vaiheet ovat samat kuin koodin 1 ohjeissa.
Koodi 29Käytöstä poistettu laite . Sinun on annettava laitteen toimia asetuksetBIOS,lue laitteen käyttöohjeet.
Koodi 31Järjestelmä ei voinut ladata tämän laitteen ohjaimia. . Päivitä ajurit yllä kuvatulla tavalla.
Koodi 32Tämän laitteen ohjain on poistettu käytöstä järjestelmärekisterissä . Poista ja asenna ohjain uudelleen (kuvattu yllä)
Koodi 33Käyttöjärjestelmä ei voi määrittää resursseja tähän laitteet . Asenna laite tai vaihda se.
Koodi 34Käyttöjärjestelmä ei voi määrittää asetuksia laitteet . Tarkista sen mukana tulleet laitteisto-ohjeet ja määritä se manuaalisesti Resurssit-välilehdessä.
Koodi 35Tietokoneen laiteohjelmistolla ei ole tarvittavia tietoja laitteen toimintaa . Pitää päivittääBIOS.Ohjeita tämän tekemiseen saat toimittajalta, mutta on parempi käyttää kokeneen käsityöläisen palveluita.
Koodi 36Laite vaatii keskeytyksen toimiakseen.PCI,ja laite on asetettu keskeyttämäänon,tai päinvastoin . Pitää muuttaa asetuksiaBIOS,kääntyä kokeneen mestarin puoleen.
Koodi 37Käyttöjärjestelmä ei tunnista tämän laitteen ohjainta. . Asenna ohjain uudelleen (kuvattu yllä).
Koodi 38Käyttöjärjestelmä ei voi ladata laitteen ohjainta, koska ajurin edellinen versio säilyy muistissa . Sinun on käynnistettävä tietokoneesi uudelleen. Suorita ohjattu vianmääritystoiminto, jos se ei käynnisty (Ominaisuudet - Yleiset - Vianetsintä) ja noudata ohjatun toiminnon ohjeita. Pakollisen uudelleenkäynnistyksen jälkeen.
Koodi 39Käyttöjärjestelmä ei voi ladata laiteohjainta. Ajuri on vioittunut tai ei ollenkaan . Asenna ohjain uudelleen yllä kuvatulla tavalla.
Koodi 40Laitteisiin ei pääse käsiksi, koska järjestelmärekisterissä ei ole tietoja tai tiedoissa on virhe . Asenna ohjain uudelleen.
Koodi 41Laitetta ei havaittu . Suorita ohjattu vianmääritystoiminto (kuvattu yllä), jos se ei auta, päivitä laitteistokokoonpano (katso yllä) tai päivitä ohjain. Jos ei, asenna lisää uusi versio Kuljettajat.
Koodi 42Järjestelmässä on jo tällainen ajuri. Eli niitä on kaksi erilaisia laitteita samalla nimellä, mahdollisesti virheen takia . Käynnistä tietokoneesi uudelleen.
Koodi 43Laitteen pysäyttäminen sen toimintaongelmien vuoksi . Suorita ohjattu vianmääritystoiminto ja noudata sen ohjeita.
Koodi 44Sovellus tai palvelu on pysäyttänyt laitteen . Käynnistä tietokoneesi uudelleen.
Koodi 45Laitetta ei ole yhdistetty . Yhdistä laitteesi.
Koodi 46Tämä virhe ilmenee, kun käyttöjärjestelmä sammuu. Mitään ei tarvitse tehdä, kun seuraavan kerran käynnistät käyttöjärjestelmän, kaikki toimii.
Koodi 47 Laite on valmisteltu turvalliseen poistoon, mutta sitä ei ole vielä poistettu (esim. . Irrota laite, kytke se takaisin ja käynnistä tietokone uudelleen.
Koodi 48Laite tai pikemminkin sen ohjelmisto on estetty . Päivitä ohjain tai asenna uusi.
Koodi 49Laitetta ei voida käynnistää, koska siinä on suuri järjestelmärekisterirakenne, joka ylittää sallitut rekisteriasetukset . Poista laitteet, jotka eivät ole käytössä, rekisteristä. Voit tehdä tämän: Laitehallinta - Näytä - Näytä piilotetut laitteet. Täällä näet piilotetut laitteet, joita ei ole yhdistetty tietokoneeseesi. Valitse poistettavat laitteet, napsauta laitteen Ominaisuudet - Ohjain - Poista asennus, noudata ohjatun toiminnon ohjeita ja käynnistä tietokone lopuksi uudelleen.
Käsikirja virusten poistamiseen tietokoneeltasi omin käsin. Kaikki virustenpoistomenetelmät ovat todella toimivia ja todistettuja käytännössä, vaiheittaiset ohjeet kuvilla - yksinkertainen ja helposti saatavilla myös koululaiselle + video-opetusohjelmat + ultraiso-ohjelma käynnistyslatainten luomiseen + hyödyllisiä linkkejä työkaluihin virusten torjunnassa. Lataa arkisto
Monet tietokonejärjestelmät sisältävät yhden tai toisen version muistinhallinnasta (toinen nimi on muistinhallinta - MUP), jonka avulla moniajokäyttöjärjestelmä varaa muistia kullekin tehtävälle ja suojaa käyttäjäohjelmia vastaan. Tyypillinen ongelma ilmenee esimerkiksi silloin, kun sovellusohjelma tekee virheen osoitteen laskemisessa, ehkä käyttämällä liian suurta tai liian pientä indeksiarvoa. Jos järjestelmässä ei ole suojausta, tällainen virhe voi muuttaa käyttöjärjestelmäohjelmiin sisältyviä koodeja tai muuttaa laitetaulukoita ja jopa aiheuttaa laitteen odottamattoman käynnistyksen, jolla on kohtalokkaat seuraukset, kuten luvaton kirjoitus tiedostoon. .
Sen lisäksi, että muistinhallintaohjelma suojaa käyttöjärjestelmää tahattomalta tuhoutumiselta, se tarjoaa automaattisen ohjelman siirron. Muistinhallinta muuntaa käyttäjäohjelmien loogiset tai ohjelmaosoitteet fyysisiksi tai laitteisto-osoitteiksi. Nämä osoitteet voivat sijaita muistissa täysin eri tavalla kuin mihin loogiset osoitteet osoittavat. Osoitteen muuntaminen johtaa käyttöjärjestelmän ja suojattujen I/O-laitteiden täydelliseen poistamiseen käyttäjän osoiteavaruudesta. Jokainen yritys lukea tai kirjoittaa muistiin käyttäjän osoiteavaruuden ulkopuolella aiheuttaa prosessorin kaatumisen käyttäjän ohjelmaan.
Tiedot lähetetään yleensä paloina, jotka koostuvat kiinteästä määrästä bittejä; 80386 MP käyttää 32-bittisiä paloja, ellei sitä ole ohjeistettu pienentämään osien kokoa 16 bittiin. Näitä osia kutsutaan sanoiksi. Sanan kirjoittamista muistijärjestelmään kutsutaan prosessiksi muistikirja, prosessi saada sana muistista - lukeminen muistista.
Muistin käyttötapoja on kaksi: satunnainen ja peräkkäinen. Jaksottaista pääsyä käytetään niissä muistijärjestelmissä, joissa sanoja käytetään jossain ennalta määrätyssä järjestyksessä. Random access puolestaan sisältää mahdollisuuden päästä käsiksi tallennusjärjestelmän sanoihin missä tahansa järjestyksessä ja suunnilleen samassa ajassa.
Riippumatta siitä, kuinka täydellinen muisti on, signaalin siirtyessä laitteiden välillä sen etenemisessä on viiveitä. Etenemisviive määritellään ajaksi, joka tarvitaan loogisen signaalin kulkemiseen laitteen tai loogisen ketjun muodostavan laitesarjan läpi. Tämä viive ottaa huomioon myös signaalin, joka kulkee kaikkien mikropiirien välisten kytkentälinjojen läpi.
Direct Memory Access (DMA)
Suora pääsy muistiin sallii ulkoisten laitteiden ja muistin vaihtaa tietoja suoraan ilman ohjelman väliintuloa. DMA tarjoaa suurimman I/O-nopeuden ja maksimaalisen prosessin rinnakkaisuuden. Kun keskeytys-I/O ja ohjelmistoohjattu I/O siirtävät dataa prosessorin kautta, DMA:n tapauksessa data siirretään suoraan I/O-laitteen ja muistin välillä.
Dataväylän määrän minimoimiseksi toteutetaan erityistoimenpiteitä, jotka mahdollistavat perinteisen RPS:n rungon käytön. Nämä toimenpiteet koostuvat siitä, että prosessori vapauttaa valtatien ja ulkoinen laite kaappaa sen ja käyttää sitä tiedonsiirtoon.
RAP:n ajaksi ohjelman suoritus yleensä keskeytetään. Runko vapautetaan heti, kun RAP-pyynnön ohjausrivi on viritetty. Prosessori lopettaa nykyisen toiminnon, vapauttaa osoite- ja datarivit ja vahvistaa signaalin yhdellä ohjauslinjoista estääkseen määrittelemättömien ohjaussignaalien tahattoman dekoodauksen.
I/O-liitäntä siirtää tiedot suoraan muistiin erityisen rekisterin avulla. Kun sen on siirrettävä tietoja, liitäntä pyytää prosessorilta muistijaksoa. Kun liitäntä on kuitattu, se lähettää tiedot suoraan muistiin, kun prosessori pysähtyy yhden muistijakson ajaksi. Logiikkaa, joka suorittaa tämän siirron, kutsutaan kanava.
Kanava sisältää rekisterin muistipaikan osoitteen tallentamiseen, johon tai josta dataa siirretään, Useimmissa tapauksissa kanava sisältää myös sanalaskurin suorien siirtojen määrän laskemiseksi. Lisäksi kanavassa on oltava piiri, joka tarjoaa ohjaussignaalien vaihdon, synkronoinnin ja muut aputoiminnot. Kuvassa 13.4 näyttää loogiset yhteydet CPU:n ja PDP-ohjaimen välillä.
RAP-komponentit. DMA:n pääkomponentit ovat pyyntölaukaisu, osoiterekisteri, laskuri ja oheislaitteen käyttämä tietorekisteri. Datan välittäminen DMA-kanavalla sisältää useita vaiheita: 1) DMA-logiikan alustus DMA:n suorittamiseksi toistuvien runkoverkon käyttöjaksojen aikana; 2) asynkroninen RAP:n ohjelmatoimintojen aktivoinnin suhteen; 3) ilmoitus siirtojen päättymisestä (laskurin signaalista tai laitteen tilan muutoksen seurauksena); 4) "puhdistus"-ohjelman kutsuminen siirtojen lopussa; 5) DMA:n viimeistely keskeytyskäsittelijän avulla, joka palauttaa ohjauksen pääohjelmaan.
Estä tiedonsiirto. Nopeiden laitteiden DMA-menettely käyttää tiedonsiirtoa lohkoissa. Suorittamalla nykyisen ohjelman prosessori aloittaa tietolohkon siirron ja määrittää lohkon muodostavien sanojen lukumäärän. Varsinainen sanojen siirto tapahtuu kuitenkin erillisen laitteen - PMA-ohjaimen - ohjauksessa. Suurin lohkosiirtonopeus DMA-kanavalla on rajoitettu vain muistijakson (luku tai kirjoitus) kesto ja DMA-ohjaimen nopeus.
RAP muistisyklin miehityksellä. Ohjelma käynnistää lohkon siirron sijoittamalla aloitusosoitteen osoitelaskuriin ja sanojen lukumäärän sanalaskuriin. ja antaa suorituskomennon. Tämän tyyppistä RAP:ta kutsutaan usein nimellä RAP with miehittää muistisyklin, koska se keskeyttää ohjelman suorittamisen joka kerta noin yhdeksi konejaksoksi.
Kun DMA:ta käytetään muistisyklin kanssa, tiedonsiirto tapahtuu rinnakkain muiden CPU:n suorittamien prosessien kanssa. Toimintojen järjestys on tässä sama kuin lohkosiirrossa, paitsi että DMA-ohjain ottaa muistijaksoja prosessorilta ja siten hidastaa sen toimintaa (myös lohkodatan siirto DMA-kanavan yli kestää muistijaksot, ellei DMA:ta käytetä erillisessä väylässä).
Kun prosessi käynnistyy Windowsissa, monet EXE- ja DLL-tiedostokuvia näyttävistä sivuista saattavat olla jo muistissa, koska muut prosessit käyttävät niitä. Kirjoitettavilla kuvasivuilla on merkintä "copy-on-write", jotta niitä voidaan jakaa, kunnes niitä on muokattava. Jos käyttöjärjestelmä tunnistaa jo käynnissä olevan EXE:n, se voi kirjoittaa sivulinkkimallin (käyttämällä tekniikkaa, jota Microsoft kutsuu Super-Fetchiksi). Tämä tekniikka yrittää esihakua monia tarpeellisia sivuja etukäteen (vaikka prosessi ei ole vielä saanut sivuvirheitä niille). Tämä vähentää sovellusten käynnistyksen viivettä (sivujen lukeminen levyltä on päällekkäin kuvien alustuskoodin suorittamisen kanssa). Tämä tekniikka parantaa levyn ulostulon suorituskykyä helpottamalla levyajureiden lukutoimintojen organisointia (vaaditun hakuajan lyhentämiseksi). Tätä esihakuprosessia käytetään myös järjestelmän käynnistyksen aikana sekä silloin, kun taustasovellus tulee etualalle ja kun järjestelmä palaa horrostilasta.
Muistinhallinta tukee edelleenhakua, mutta se toteutetaan erillisenä järjestelmäkomponenttina. Vaihdettuja sivuja ei lisätä prosessin sivutaulukkoon, vaan ne lisätään valmiustilaluetteloon, josta ne voidaan lisätä nopeasti prosessiin (ilman levykäyttöä).
Yhdistämättömät sivut ovat jonkin verran erilaisia - niitä ei alustata lukemalla tiedostosta. Sen sijaan, kun kartoittamattomalle sivulle avataan ensimmäisen kerran, muistinhallinta tarjoaa uuden fyysisen sivun (varmistaen, että sen sisältö on nollatäytetty turvallisuussyistä). Myöhemmissä sivuvirheissä yhdistämätön sivu on ehkä löydettävä muistista tai luettava sivutustiedostosta.
Muistinhallinnan kysyntähakua ohjaavat sivuvirheet. Jokainen virhe aiheuttaa keskeytyksen ytimeen. Ydin rakentaa sitten koneesta riippumattoman kahvan (joka raportoi tapahtuneesta) ja välittää sen ajonaikaiseen muistinhallintaan. Muistinhallinta tarkistaa sitten pääsyn kelvollisuuden. Jos epäonnistunut sivu kuuluu sitoutuneelle alueelle, se etsii osoitteen VAD-luettelosta ja löytää (tai luo) prosessin sivutaulukkomerkinnän. Jaetun sivun tapauksessa muistinhallinta käyttää prototyyppisivutaulukkomerkintää (liittyy segmenttiobjektiin) täyttääkseen prosessin uuden sivutaulukkomerkinnän.
Sivutaulukon syöttömuoto vaihtelee prosessorin arkkitehtuurista riippuen. x86- ja x64-suorittimissa näytettävän sivun elementit on esitetty kuvassa. 11.17. Jos elementti on merkitty kelvolliseksi, laitteisto tulkitsee sen sisällön (jotta virtuaaliosoite voidaan kääntää kelvolliseksi fyysiseksi sivuksi). Myös renderöimättömillä sivuilla on omat elementtinsä, mutta ne merkitään virheellisiksi ja laitteisto jättää huomioimatta muun elementin. Ohjelmistomuoto eroaa hieman laitteistomuodosta, ja sen määrittää muistinhallinta. Esimerkiksi kartoittamattomalle sivulle (joka on asetettava ja nollattava ennen käyttöä), tämä seikka merkitään sivutaulukkomerkintään.
Laitteisto päivittää suoraan sivutaulukkomerkinnän kaksi tärkeää bittiä. Nämä ovat pääsybitti (A) ja muutettu bitti (D). Nämä bitit seuraavat tietyn sivukartoituksen käyttöä sivulle pääsyyn ja voivatko sivua muokata kyseisellä käyttöoikeudella. Tämä todella parantaa järjestelmän suorituskykyä, koska muistinhallinta voi käyttää pääsybittiä toteuttaakseen vähiten viimeksi käytetyt (LRU) -hakutoiminnot. LRU:n periaate on, että pisimpään käyttämättömillä sivuilla on vähiten mahdollisuus tulla uudelleenkäyttöön lähitulevaisuudessa. Pääsybitin avulla muistinhallinta voi määrittää, että sivua on käytetty. "Muokattu"-bitti kertoo muistinhallinnasta, että sivua on saatettu muokata (tai mikä vielä tärkeämpää, sitä ei ole muokattu). Jos sivua ei ole muokattu sen jälkeen, kun se on luettu levyltä, muistinhallinnan ei tarvitse kirjoittaa sen sisältöä levylle (ennen kuin käyttää sitä johonkin muuhun).
Sekä x86- että x64-arkkitehtuurissa käytetään 64-bittistä sivutaulukkomerkintää (katso kuva 11.17).
Jokainen sivuvirhe voidaan luokitella johonkin viidestä kategoriasta:
1. Sivua ei ole korjattu.
2. Yritä päästä sivulle, jolla on luparikkomus.
3. Yritä muokata kopiointi-kirjoitussivua.
1. Pinoa on lisättävä.
2. Sivu on kiinteä, mutta sitä ei näytetä tällä hetkellä.
Ensimmäinen ja toinen tapaus ovat ohjelmointivirheitä. Jos ohjelma yrittää käyttää osoitetta, jolla ei ole kelvollista kartoitusta, tai yrittää suorittaa laitonta toimintoa (kuten yrittää kirjoittaa vain luku -sivulle), tätä kutsutaan käyttöoikeusrikkomukseksi ja se yleensä johtaa prosessi. Käyttöoikeusrikkomus johtuu usein virheellisistä osoitinarvoista, mukaan lukien pääsy prosessista vapautettuun ja irrotettuun muistiin.
Kolmannessa tapauksessa on samat oireet kuin toisessa (yritys kirjoittaa vain luku -sivulle), mutta sen käsittely on erilainen. Koska sivu oli merkitty kopioitavaksi, muistinhallinta ei aiheuta käyttörikkomusta. Sen sijaan se tekee sivusta yksityisen kopion nykyistä prosessia varten ja palaa sitten viestiketjuun, joka yritti kirjoittaa sivulle. Säie yrittää kirjoitustoimintoa uudelleen, joka nyt päättyy ilman sivuvirhettä.
Neljäs tapaus tapahtuu, kun säie työntää arvon pinoonsa ja osuu sivulle, jota ei ole vielä varattu. Muistinhallinta tunnistaa tämän erikoistapaukseksi. Niin kauan kuin pinolle varatuilla virtuaalisivuilla on tilaa, muistinhallinta toimittaa uusia sivuja, nollaa ne ja kartoittaa ne prosessiin. Kun säiettä jatketaan suorittamista, se yrittää käyttää uudelleen, ja tällä kertaa se onnistuu.
Ja lopuksi, viides tapaus on normaali sivuvirhe. Sillä on kuitenkin useita alamuunnelmia. Jos sivu on yhdistetty tiedostoon, muistinhallinnan on tutkittava sen tietorakenteet (kuten segmenttiobjektiin liittyvä sivun prototyyppitaulukko) varmistaakseen, ettei siitä ole kopiota muistissa. Jos kopio on olemassa (esimerkiksi toisessa prosessissa, valmiustilan luettelossa tai muokattujen sivujen luettelossa), se yksinkertaisesti jakaa sen (sen voi joutua merkitsemään se kopiointi-kirjoitussivuksi tee tämä, jos muutoksia ei jaeta). oletettu). Jos kopiota ei vielä ole, muistinhallinta varaa vapaan fyysisen sivun ja valmistelee sen kopioimaan tiedoston sivun levyltä siihen, ellei levyltä ole sillä hetkellä siirretty toista sivua (jolloin tarvitset vain odottaa, kunnes tämä siirto on valmis).
Jos muistinhallinta pystyy käsittelemään sivuvirheen etsimällä oikean sivun muistista (eikä lukemalla sitä levyltä), virhettä kutsutaan pehmeäksi viaksi. Jos tarvitset kopion levyltä, tämä on kova vika. Pehmeät bugit ovat paljon halvempia ja niillä on vain vähän vaikutusta sovelluksen suorituskykyyn (verrattuna koviin bugiin). Pehmeitä virheitä voi esiintyä, koska jaettu sivu on jo kartoitettu toiseen prosessiin, tai yksinkertaisesti tarvitaan uusi nollattu sivu tai haluttu sivu on poistettu prosessin työjoukosta, mutta se palautetaan ennen uudelleenkäyttöä. Pehmeitä virheitä voi esiintyä myös siksi, että sivut on pakattu fyysisen muistin koon kasvattamiseksi tehokkaasti. Useimmissa prosessorikokoonpanoissa on tehokkaampaa pakata muisti ja I/O nykyisissä järjestelmissä sen sijaan, että tuhlattaisiin kallis I/O (suorituskyvyn ja tehon suhteen), mikä vaatii sivun lukemista levyltä.
Kun fyysistä sivua ei enää yhdistetä minkään prosessin sivutaulukkoon, se sijoitetaan johonkin kolmesta luettelosta: ilmainen, muokattu tai varattu. Sivut, joita ei enää koskaan tarvita (kuten lopetusprosessin pinosivut), vapautetaan välittömästi. Sivut, jotka voivat aiheuttaa sivuvirheen uudelleen, ovat joko muokatussa luettelossa tai varaluettelossa (riippuen siitä, oliko "muokattu" bitti asetettu jollekin sivutaulukon elementille, joka näytti tämän sivun sen jälkeen, kun se viimeksi luettiin levyltä). Muokatun luettelon sivut kirjoitetaan lopulta levylle ja siirretään sitten varallaololuetteloon.
Muistinhallinta voi varata sivuja tarpeen mukaan (vapaiden tai varattujen sivujen luettelon avulla). Ennen sivun varaamista ja kopioimista levyltä muistinhallinta tarkistaa aina varattujen ja muokattujen sivujen luettelot nähdäkseen, onko sivu jo muistissa. Windowsin sivutusmalli muuntaa tulevat kovat virheet pehmeiksi (lukemalla mahdollisesti tarvittavat sivut ja lisäämällä ne varaluetteloon). Muistinhallinta suorittaa pienen määrän sivutusta itse - se käyttää peräkkäisten sivujen ryhmiä (eikä yksittäisiä sivuja). Lisäsivut lisätään välittömästi varasivuluetteloon. Tämä ei ole hukkaa, koska muistinhallinnan yleiskustannukset ovat paljon pienemmät kuin I/O-toimintojen suorittamisen kustannukset. Kokonaisen sivujoukon lukeminen on hieman kalliimpaa kuin yhden sivun lukeminen.
Sivutaulukon elementit kuvassa. 11.17 viittaavat fyysisiin (ei virtuaalisiin) sivunumeroihin. Ytimen on käytettävä virtuaalisia osoitteita sivutaulukkomerkinnän (ja sivuhakemiston) päivittämiseen. Windows kartoittaa nykyisen prosessin sivutaulukot ja sivuhakemistot ytimen virtuaaliseen osoiteavaruuteen käyttämällä sivuhakemiston self-map-elementtiä (Kuva 11-18). Yhdistämällä sivuhakemistomerkinnän sivuhakemistoon (self-map) saamme virtuaalisia osoitteita, joilla voidaan viitata sivuhakemistomerkintöihin (Kuva 11.18a) ja sivutaulukkomerkintöihin (Kuva 11.18b). Itsekartta vie 8 Mt ytimen virtuaaliosoitteita prosessia kohden (x86-suorittimissa). Yksinkertaisuuden vuoksi kuvassa on x86-selvityselementti 32-bittisille PTE-tietueille (Page-Table Entries). Itse asiassa Windows käyttää 64-bittisiä PTE:itä, joten järjestelmä voi käyttää yli 4 Gt fyysistä muistia. 32-bittisillä PTE-merkinnöillä itsekartoituselementti käyttää vain yhtä PDE-merkintää (Page-Directory Entry) sivuhakemistossa ja vie siis vain 4 Mt osoitteita, ei 8 Mt.