Helsingin yliopisto Tietojenkäsittelytieteen laitos
 

Tietojenkäsittelytieteen laitos

Tietoa laitoksesta:

 
Käyttöjärjestelmät S2007 / OSIO 2 (5.10 - 2.11)
Suomeksi in
English
Muistinhallinta

VIIMEINEN PALAUTUSPÄIVÄ: pe 2.11.2007

TAVOITTEET

Osion tavoitteena on muodostaa kokonaiskuva virtuaalimuistimekanismin toiminnasta.

Lisäksi tarkoituksena on hahmottaa virtuaalimuistitoteutuksen keskeiset algoritmit ja niiden toiminta.

Avainsanat: looginen osoite, fyysinen osoite, MMU ja osoitemuunnos, virtuaalimuisti, sivutus ja segmentointi, sivutaulu ja segmenttitaulu, osoitemuunnospuskuri (TLB)

MATERIAALIA

Muuta materiaalia: Tanenbaum A.S.: Modern Operating Systems. 2nd ed. 2001. Luku 4, sivut 189-262. Kirja löytyy myös TKTL:n kirjastosta.

OPINTOPIIRITOIMINTA

Osion 2 raportti tulee palauttaa kirjallisena joko luennolla tai harjoituksissa. Viimeinen palautusajankohta on pe 2.11.

Palautettavassa raportissa pitää olla:

A - OPINTOPIIRITEHTÄVÄ

Käykää raportissanne läpi sivuttavan virtuaalimuistin toiminta mahdollisimman yksityiskohtaisesti esimerkin valossa. Kuvatkaa siis järjestelmän rakenne ja tietojen tallennuspaikat, sekä kertokaa mitä ja missä tapahtuu, kun vuorottaja valitsee suoritukseen uuden prosessin ja prosessi viittaa suorituksensa aikana seuraaviin virtuaalisiin muistiosoitteisiin (ei siis sivunumeroihin) 0, 1 .. 200, 4076, 4077, 180 .. 190, 8000, 8001, 150..170, 5300, 5302, 10, 11.

Olettakaa, että kaikki sivut, joilla olevien muistipaikkojen loogiset osoitteet ovat 4000 suuremmat sijaitsevat vielä levyllä, vaikka kaikki muut prosessin sivut on ladattu muistiin prosessin suorituksen alkaessa.

Olettakaa lisäksi, että sivu, jolla osoite 5300 sijaitsee, ei mahdu muistiin ilman, että joku aiempi sivu siirretään pois. Kuvatkaa valitsemanne siirtomekanismi ja sen päätöksen perusteet. (Tehkää tarvittavat lisäoletukset).

Voitte olettaa, että järjestelmä käyttää yksitasoista sivutaulua, 16 alkion assosiatiivista osoitemuunnospuskuria (TLB, translation lookaside buffer) ja että sivun koko on 1024 tavua.

Huomatkaa, että joudutte 'arvaamaan' todellisten käytettävien sivutilojen numerot. Älkää olettako, että sivu päätyy samannumeroiseen sivutilaan. Jos haluatte, niin voitte käyttää kirjan tehtävän 8.1. sivutaulua apunanne noiden sivutilanumeroiden määräämisessä. Huomatkaa kuitenkin, että kuvattu taulu ei täysin vastaa teidän ohjelmanne suorituksen mitään tilannetta.

Pohtikaa myös miksi puhdas sivuttava virtuaalimuisti ei aina ole paras vaihtoehto. Pohdinnassa voi käyttää apuna seuraavan kaltaisia lähestymistapoja:

  • Vertailkaa esimerkiksi sivutusta ja segmentointia käyttäviä virtuaalimuistimekanismeja toisiinsa.
  • Miksi näiden yhdistäminen voi olla järkevä vaihtoehto?
  • Miksi on kehitetty käänteinen sivutaulu?
  • Mitä hyötyä/haittaa siitä on tavalliseen sivutauluun verrattuna?

B - ITSEARVIOINTI

Tiimityönä: Pohtikaa ryhmänne toimintaa seuraavien kysymysten valossa. Kirjatkaa pohdintanne raportin yhteyteen.

  • Miten ryhmänne toimi nyt toisessa tehtävässä? Voisiko vielä parantaa?
  • Miten pohjatiedot riittivät? Mitä piti tarkentaa?
  • Jäikö vielä jotain epäselväksi? Mitä? Miten asian voisi korjata?
  • Lyhyt kuvaus ryhmän toiminnasta: montako kertaa tapasitte, miten, osallistuivatko kaikki toimintaa aktiivisesti?


Osioon 1 Osioon 3


Assari on henkilö, joka saa ratkaisun kuulostamaan ongelmilta.

Sivu luotu 26.9.2006 Tiina Niklander