Base- ja Limit -rekisterit

Samuel

Tervehdys.

Kyselisin ihan sellaista asiaa, että mitä ovat käyttöjärjestelmän Base- ja Limit -rekisterit ja mihin niitä oikeastaan tarvitaan???

2

645

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • käyttöjärjestelmän?

      ...

    • Mika0800

      nuo ovat systeemirekistereitä, jotka ladataan automaattisesti segmenttirekistereitä ladattaessa.

      Base -rekisteri kertoo, mikä oikea (nyk. virtuaali-) osoite vastaa segmentin 0 -osoitetta ja Limit kertoo, kuinka suuri yksi segmentti on, eli määrää suurimman sallitun offsetin segmentin sisällä. Tämän suurimman sallitun ylitys johtaa "Access Violation" -virheeseen.

      huom: tämä selitys oli yksinkertaistettu. 80386 ja uudempien prosesssorien virtuaalimuisti monimutkaistaa asiaa; esim. windowsissa voi varata erikseen muistiosoiteavaruutta ja oikeaa muistia, joka sitten kytketään noihin muistiavaruuden osoitteisiin. ks. VirtualAlloc, VirtualFree ja VitrualProtect.

      Muistin virtuaalisuuden ideahan on se, että kukin lohko (joka windowsissa on 4 Ki, mutta muistaakseni CPU sallisi vaihtoehtoisesti myös 8 Ki) voi viitata mihin tahansa fyysiseen muistiosoitteeseen tai ei mihinkään, jolloin tuon osoitteen luku/kirjoitusyritys aiheuttaa myös "access violation" -poikkeuksen, mutta sitä ei aina käsitellä virheenä, vaan käyttöjärjestelmän virtuaalijärjestelmän pyyntönä ladata puuttuva muistilohko kiintolevyltä RAMmiin, ja muokata osoitustalulukko osoittamaan siihen kohtaan fyysistä RAMmia, mihin puuttuva lohko juuri ladattiin, ja lopuksi palata suoritusosoitteeseen, jossa oleva käsky aiheutti poikkeuksen, jolloin suoritus jatkuu normaalisti, nythän sama osoite, joka äsken ei ollut fyysisessä muistissa, on siellä, kun käyttöjärjestelmän virtuaalimuistilataaja sen sinne juuri latasi.

      Windowsissa yleensä lataus tehdään muuttumattomasta EXE tai DLL - tiedostosta; hyötynä se, että virtuaalimuisti on nopeampaa, kun kiintolevyä näissä tapauksissa vain luetaan (EXE tai DLL ei muutu suorituksen aikana).

      Poikeuksena tilanne, jossa muistia vaaditaan niin paljon, että tämäkään ei riitä: silloin otetaan käyttöön win386.swp, ja myös kirjoitetaan sinne toinen muistilohko, joka poistetaan RAMmista, jotta sinne saadaan tilaa puuttuvalle lohkolle.

      Näinollen windowsin virtuaalimuistia käytetään silti, vaikka tuota win386.swp -tiedostoa ei käytettäisi ollenkaan.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Huomenta ihana

      Kauniskasvoinen ihanuus 😘 saan sut vielä
      Ikävä
      45
      7382
    2. Hei rakas...

      Miten on työpäivä sujunut? Rakastan sinua 💗
      Ikävä
      32
      4078
    3. Ei tämä etene ikinä

      Kun kumpikaan ei enää ota yhteyttä. Mä en ainakaan uskalla.
      Ikävä
      57
      3615
    4. Edelleen sitä on vaikea uskoa

      Että olisit oikeasti rakastunut muhun
      Ikävä
      50
      3130
    5. Vitsi mihin menit. Heti takasin.

      Mä näin sut tuu takasin! Oli kiire, niin en ehtiny sin perään!
      Ikävä
      17
      2806
    6. Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...

      Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons
      Suomalaiset julkkikset
      51
      2324
    7. Miksi et irrota otettasi

      Suhteeni?
      Ikävä
      53
      2307
    8. Toiveikas vai toivoton

      torstai? Ajatuksia?
      Ikävä
      37
      2258
    9. Koko ajan olet

      Senkin suhteen kiusannut. Halut on ihan mielettömät olleet jo pitkään
      Ikävä
      43
      2258
    10. Mukavaa päivää

      Mun rakkauden kohteelle ❤️ toivottavasti olet onnellinen
      Ikävä
      16
      2236
    Aihe