Välimuisti vs virtuaalimuisti
Välimuistin ja virtuaalimuistin välinen ero on olemassa tarkoituksessa, johon näitä kahta käytetään, ja fyysisestä olemassaolosta. Välimuisti on eräänlainen muisti, jota käytetään päämuistin käyttöajan parantamiseen. Se sijaitsee suorittimen ja päämuistin välissä, ja välimuisteja voi olla useita tasoja, kuten L1, L2 ja L3. Välimuistissa käytetty laitteistotyyppi on paljon kalliimpaa kuin päämuistissa käytetty RAM (Random Access Memory), koska välimuisti on paljon nopeampi. Tästä syystä välimuistin kapasiteetti on hyvin pieni. Virtuaalimuisti on muistinhallintatekniikka, jota käytetään RAM-muistin (päämuistin) tehokkaaseen käyttöön ja jokaista ohjelmaa varten erillinen muistitila, joka on jopa suurempi kuin todellinen fyysisen RAM-muistin (päämuisti) kapasiteetti. Tässä kiintolevyä käytetään muistin laajentamiseen. Fyysisen RAM-muistin kohteet siirretään edestakaisin kiintolevyn kanssa.
Mikä on välimuisti?
Välimuisti on tietyntyyppinen muisti, joka sijaitsee prosessorin (keskusyksikkö) ja RAM-muistin (Random Access memory) välillä. Välimuistin tarkoituksena on vähentää suorittimen muistin käyttöaikaa RAM-muistista. Välimuisti on paljon nopeampi kuin RAM. Joten välimuistin käyttöaika on paljon lyhyempi kuin RAM-muistin käyttöaika. Välimuistissa käytetyn muistin hinta on kuitenkin paljon korkeampi kuin RAM-muistille käytetyn muistin hinta, joten välimuistin kapasiteetti on hyvin pieni. Välimuistissa käytettyä muistityyppiä kutsutaan nimellä SRAM (Static Random Access Memory).
Aina kun keskusyksikkö haluaa käyttää muistia, se tarkistaa ensin, onko tarvitsemansa välimuistissa. Jos kyllä, se voisi käyttää sitä pienimmällä viiveellä. Jos se ei ole välimuistissa, pyydetty sisältö kopioitaisiin RAM-muistista välimuistiin ja sitten vain keskusyksikkö käyttää sitä välimuistista. Kun kopioit sisältöä välimuistista, välimuistiin kopioidaan paitsi pyydetyn muistiosoitteen myös läheisen sisällön sisältö. Joten seuraavalla kerralla välimuistin osuma on todennäköinen, koska useimmat tietokoneohjelmat käyttävät lähellä olevia tietoja tai viimeksi käytettyjä tietoja useimmiten. Joten välimuistin takia keskimääräinen muistiviive pienenee.
Suorittimessa on kolme välimuistityyppiä: Ohjevälimuisti ohjelman ohjeiden tallentamiseksi, Tietovälimuisti datakohteiden tallentamiseksi ja Käännöshakupuskuri muistikartoitusten tallentamiseksi. Tietovälimuistia varten on yleensä monitasoisia välimuisteja. Eli välimuisteja on useita kuten L1, L2 ja L3. L1-välimuisti on nopein, mutta pienin välimuisti, joka on lähinnä prosessoria. L2-välimuisti on hitaampi kuin L1, mutta suurempi kuin L1 ja sijaitsee L1-välimuistin jälkeen. Tämän hierarkian takia parempi keskimääräinen muistin käyttöaika voidaan saavuttaa pienemmillä kustannuksilla.
Mikä on virtuaalimuisti?
Virtuaalimuisti on muistijärjestelmä, jota käytetään tietokonejärjestelmissä. Virtuaalimuistiksi nimettyä laitteistoa ei ole, mutta se on konsepti, joka käyttää RAM-muistia ja kiintolevyä tarjoamaan virtuaalisen osoitetilan ohjelmille. Ensin RAM on jaettu paloiksi, joita kutsutaan sivuiksi, ja ne tunnistetaan fyysisten muistiosoitteiden perusteella. Kiintolevyllä on varattu erityinen osa, jossa Linuxissa sitä kutsutaan swapiksi ja Windowsissa sivutiedostoksi. Kun ohjelma käynnistetään, sille annetaan virtuaalinen osoitetila, joka voi olla jopa suurempi kuin todellinen fyysinen muisti. Virtuaalimuistitila on myös jaettu paloiksi, joita kutsutaan sivuiksi, ja kukin virtuaalimuistisivu voidaan yhdistää fyysiseen sivuun. Sivutaulukko-niminen taulukko seuraa tätä kartoitusta. Kun fyysisen muistin tila loppuu, mitä tehdään,tietyt fyysiset sivut työnnetään kiintolevyn tähän erityisosaan. Kun jotain kiintolevylle työnnettyä sivua tarvitaan uudelleen, se tuodaan fyysiseen muistiin asettamalla toinen valittu sivu fyysisestä muistista kiintolevylle.
Mitä eroa on välimuistilla ja virtuaalimuistilla?
• Välimuisti on eräänlainen muisti, jota käytetään päämuistin käyttöajan parantamiseen. Se on nopeampi muistityyppi, joka sijaitsee prosessorin ja RAM-muistin välillä keskimääräisen muistin viiveen vähentämiseksi. Virtuaalimuisti on muistinhallintamenetelmä, jossa se on konsepti, jonka avulla ohjelmat saavat oman virtuaalimuistinsa, joka on jopa suurempi kuin todellinen käytettävissä oleva fyysinen RAM.
• Välimuisti on fyysisesti todellinen laitteistomuisti. Toisaalta ei ole laitteistoa, jota kutsutaan virtuaalimuistiksi, koska se on konsepti, joka käyttää RAM-muistia, kiintolevyä, muistinhallintayksikköä ja ohjelmistoja tarjoamaan virtuaalisen muistin.
• Välimuistin hallinta tapahtuu kokonaan laitteistolla. Virtuaalimuistia hallinnoi käyttöjärjestelmä (ohjelmisto).
• Välimuisti on RAM-muistin ja prosessorin välillä. Tiedonsiirtoon liittyy RAM-muistia, välimuistia ja prosessoria. Toisaalta virtuaalimuisti sisältää tietojen siirtämisen RAM-muistin ja kiintolevyn välillä.
• Välimuistit ovat pienikokoisia, kuten kilotavut ja megatavut. Toisaalta virtuaalimuistiin liittyy valtavia kokoja, jotka vievät gigatavua.
• Virtuaalimuistiin sisältyy tietorakenteita, kuten sivutaulukoita, jotka tallentavat fyysisen muistin ja virtuaalimuistin välisen kartoituksen. Mutta tällaiset tietorakenteet eivät ole välttämättömiä välimuistille.
Yhteenveto:
Välimuisti vs virtuaalimuisti
Välimuistia käytetään päämuistin käyttöajan parantamiseen, kun taas virtuaalimuisti on muistinhallintamenetelmä. Välimuisti on todellinen laitteisto, mutta virtuaalimuistiksi kutsuttu laite ei ole. RAM, kiintolevy ja useita muita laitteita yhdessä käyttöjärjestelmän kanssa tuottavat virtuaalimuistiksi kutsutun konseptin, joka tarjoaa suuria ja eristettyjä virtuaalimuistitiloja kullekin ohjelmalle. Välimuistissa olevaa sisältöä hallinnoi laitteisto, kun taas virtuaalimuistin sisältöä hallinnoi käyttöjärjestelmä.
Kuvat Kohteliaisuus:
- Hellispin välimuistiprosessi (CC BY-SA 3.0)
- Ehambergin virtuaalimuisti (CC BY-SA 3.0)