40 likes | 130 Views
Muistinhallinta. Teknisiä kehitysaskelia. Muisti- ja osoiteavaruuden erottaminen toisistaan virtuaaliosoitteiden avulla muistin koko voi olla suurempi tai pienempi kuin muistin fyysinen koko virtuaaliosoitteiden avulla voidaan myös osoittaa eri hetkinä fyysisen muistin eri osiin. Sivutus
E N D
Teknisiä kehitysaskelia • Muisti- ja osoiteavaruuden erottaminen toisistaan • virtuaaliosoitteiden avulla muistin koko voi olla suurempi tai pienempi kuin muistin fyysinen koko • virtuaaliosoitteiden avulla voidaan myös osoittaa eri hetkinä fyysisen muistin eri osiin
Sivutus • Ongelma: Ulkoinen pirstoutuminen = käynnistettävälle ohjelmalle ei löydy riittävän suurta yhtenäistä aluetta, vaikka vapaiden alueiden yhteenlaskettu määrä olisi riittävä • Ratkaisu vakiomittaiset sivut(ohjelmien osoiteavaruus) esim. 4096 tavua. Muistiavaruus jaetaan sivutiloihin(-tai kehyksiin, frames) • Tarvitaan muistiin tallettava sivutaulu, joka pitää yllä kirjaa sivuista
Sivuttava virtuaalimuisti • Virtuaalimuistin toteutusmalli: • Jokaiseen sivutauluun lisätään läsnäolobitti • Jos bitti on yksi, niin sivu on keskusmuistissa • Kun uusi ohjelma otetaan suoritukseen, sitä ei ladata keskusmuistiin, ja kaikki sen läsnäolobitit asetetaan nollaksi • Kun ensimmäinen käsky haetaan, aiheutuu läsnäolokeskeytys (sivua ei löydy muistista) • Keskeytyskäsittelijä varaa muistista vapaan sivun ja lukee käskyn siihen. Sivutaulun alkio asetetaan osoittamaan varattuun sivutilaa ja läsnäolobitti asetetaan ykköseksi • Jos vapaata sivutilaa ei löydy, jokin sivu poistetaan jonkin poistoalgoritmin mukaisesti.