Ero sivun ”Näennäismuisti” versioiden välillä

[katsottu versio][katsottu versio]
Poistettu sisältö Lisätty sisältö
Ei muokkausyhteenvetoa
Ipr1 (keskustelu | muokkaukset)
Ei muokkausyhteenvetoa
Rivi 10:
Virtuaalimuisti tarvitsee toimiakseen [[tietokonelaitteisto|laitteiston]] tukea. Laitteiston tulee pystyä keskeyttämään ajossa oleva käsky, jos käskyn tekemä muistiviittaus ei ole mahdollinen. Tämän jälkeen suoritus siirtyy [[käyttöjärjestelmä]]n ytimelle, joka tarkistaa ensin, onko kyseessä virheellinen viittaus ohjelman sallitun osoiteavaruuden ulkopuolelle, ja mikäli ei ole, noutaa halutun sivun keskusmuistiin massamuistilaitteelta eli yleensä levyltä.
 
Keskusmuisti täyttyisi, jos sinne jatkuvasti vain haettaisiin uusia sivuja. Virtuaalimuistijärjestelmän tulee siis myös poistaa sivuja keskusmuistista. Tätä varten on olemassa useita eri poistoalgoritmeja. Nämä pyrkivät siihen, että poistettavaa sivua ei todennäköisesti tarvittaisi kovinkaan pian. Poistoalgoritmeja ovat muiden muassa FIFO ({{k-en|first in, first out}}), joka poistaa keskusmuistissa kauiten olleen sivun, LRU ({{k-en|least recently used}}), joka poistaa pisimpään käyttämättömänä olleen sivun ja DWS ({{k-en|Denning working set}}), joka pystyy mukautumaan prosessin muuttuviin tarpeisiin ja ennustaa hyvin sen pisteen, jolloin pitää siirtyä [[sivutus|sivutuksesta]] [[heittovaihto]]on ({{k-en|swapping}}). Käytettävä poistoalgoritmi riippuu [[käyttöjärjestelmä]]stä ja [[tietokonelaitteisto|laitteiston]] muistinhallintayksikön ominaisuuksista. Yhdellä käyttöjärjestelmällä voi eri laitteistoilla olla käytössä eri poistoalgoritmeja.
 
Jotta virtuaalimuistijärjestelmä toimisi sujuvasti, pyritään noin 10 prosenttia keskusmuistista pitämään vapaana massamuistilaitteelta haettavia sivuja varten.