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

670

    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. Suomen kansa haluaa Antti Lindtmanista pääministerin

      Lindtman on miltei tuplasti suositumpi kuin etunimikaimansa Kaikkonen. Näin kertoo porvarimedian teettämä kysely. http
      Maailman menoa
      268
      4675
    2. Vain 21% kannattaa Lindtmania pääministeriksi

      se on selvästi vähemmän kuin puolueen kannatus, mites nyt noin?
      Maailman menoa
      134
      3030
    3. Miten löydän sinut

      Ja saan sanottua kaiken mitä haluan sinulle kertoa? Ja kuinka kuuntelisit minua sen hetken? Kuinka voin ilmaista sen mit
      Ikävä
      44
      2857
    4. Miksei Björn Wahlroos jaa rahaa köyhille?

      Esimerkiksi Nordean tiloissa? Vai tuovatko ne köyhät hiekkaa marmorilattioille ja siksi ei pysty mursunviiksi pystyyn k
      Maailman menoa
      25
      2827
    5. Yöllinen autolla kaahari Heinolan seudulla

      Asukkaita häiriköivän nuoren herran autokaahaus keskustelu poistettu, onko jokin hyvävelijärjestelmä käytössä ?
      Heinola
      76
      1791
    6. Vaikea tilanne

      Hieman kolkuttaa omatuntoa, kun on osoittanut kiinnostusta väärää naista kohtaan. En ymmärrä miten toinen on voinut te
      Ikävä
      106
      1654
    7. Jouluksi miettimistä: kuka tai mikä valmistaa rahan?

      Nyt kun on ollut vääntöä rahasta ja eritoten sen vähyydestä, niin olisi syytä uida rahan alkulähteille, eli mistä se syn
      Maailman menoa
      28
      1521
    8. Milloin kaivatullasi

      .. on nimipäivä?
      Ikävä
      60
      1409
    9. Kehtaisitko näyttäytyä

      kaivattusi seurassa?
      Ikävä
      95
      1282
    10. Julkinen sektori on elänyt aivan liian leveästi yli varojensa!

      Viimeisen 15 vuoden aikana julkisen puolen palkat ovat nousseet n. 40%, kun taas yksitysellä sektorilla vain n. 20%. En
      Maailman menoa
      215
      1180
    Aihe