Privremena memorija vs virtualna memorija
Razlika između predmemorije i virtualne memorije postoji u svrhu za koju se to dvoje koristi i u fizičkom postojanju. Privremena memorija vrsta je memorije koja se koristi za poboljšanje vremena pristupa glavnoj memoriji. Smješten je između CPU-a i glavne memorije, a može postojati nekoliko razina predmemorije kao što su L1, L2 i L3. Tip hardvera koji se koristi za predmemoriju mnogo je skuplji od RAM-a (Random Access Memory) koji se koristi za glavnu memoriju jer je predmemorija mnogo brža. Iz tog je razloga kapacitet predmemorije vrlo mali. Virtualna memorija tehnika je upravljanja memorijom koja se koristi za učinkovitu upotrebu RAM-a (glavne memorije), a istovremeno pruža zaseban memorijski prostor za svaki program koji je čak veći od stvarnog kapaciteta fizičke RAM-a (glavne memorije). Ovdje se tvrdi disk koristi za proširenje memorije. Stavke u fizičkom RAM-u prenose se naprijed-natrag s tvrdim diskom.
Što je predmemorija?
Privremena memorija vrsta je memorije koja se nalazi između CPU-a (središnje procesorske jedinice) i RAM-a (memorija slučajnog pristupa). Svrha predmemorije je smanjiti vrijeme pristupa memorije CPU-a iz RAM-a. Predmemorija je mnogo brža od RAM-a. Dakle, vrijeme pristupa predmemoriji je mnogo manje od vremena pristupa RAM-u. No, cijena memorije koja se koristi za predmemoriju mnogo je veća od cijene memorije koja se koristi za RAM, pa je stoga kapacitet predmemorije vrlo mali. Vrsta memorije koja se koristi za predmemoriju naziva se SRAM (Static Random Access Memory).
Kad god CPU želi pristupiti memoriji, prvo provjerava nalazi li se ono što treba u predmemoriji. Ako da, moći će mu pristupiti s najmanje kašnjenja. Ako se ne nalazi u predmemoriji, zatraženi sadržaj kopirao bi se iz RAM-a u predmemoriju i tada će mu samo CPU pristupiti iz predmemorije. Ovdje se prilikom kopiranja sadržaja iz predmemorije u predmemoriju kopira ne samo sadržaj na traženoj memorijskoj adresi, već i obližnji sadržaj. Dakle, sljedeći put postoji velika vjerojatnost da se dogodi pogodak predmemorije jer većina računalnih programa većinu puta pristupa podacima u blizini ili podacima kojima je zadnji pristupljen. Tako se zbog predmemorije smanjuje prosječna kašnjenja memorije.
U CPU-u postoje tri vrste predmemorija: predmemorija uputa za spremanje programskih uputa, predmemorija podataka za pohranu stavki podataka i prevoditeljski međuspremnik za spremanje preslikavanja memorije. Za predmemoriju podataka općenito postoje predmemorije na više razina. Odnosno, postoji nekoliko predmemorija kao L1, L2 i L3. L1 predmemorija je najbrža, ali najmanja predmemorija koja je najbliža CPU-u. L2 predmemorija je sporija od L1, ali veća je od L1 i nalazi se nakon L1 predmemorije. Zbog ove hijerarhije može se postići bolje prosječno vrijeme pristupa memoriji uz manje troškove.
Što je virtualna memorija?
Virtualna memorija tehnika je upravljanja memorijom koja se koristi u računalnim sustavima. Ne postoji hardver zvan virtualna memorija, ali to je koncept koji koristi RAM i tvrdi disk za pružanje virtualnog adresnog prostora za programe. Prvo se RAM dijeli na dijelove koji se nazivaju stranicama i oni se identificiraju fizičkim adresama memorije. Na tvrdom je disku rezerviran poseban dio, gdje se u Linuxu to naziva zamjena, a u sustavu Windows datoteka stranice. Kada se program pokrene, daje mu se virtualni adresni prostor koji može biti čak i veći od stvarne fizičke memorije. Prostor virtualne memorije također je podijeljen na dijelove koji se nazivaju stranicama i svaka od ovih stranica virtualne memorije može se preslikati na fizičku stranicu. Tablica pod nazivom tablica stranica prati ovo mapiranje. Kada fizičkoj memoriji ponestane prostora, ono što je učinjeno je,određene fizičke stranice guraju se na taj posebni dio na tvrdom disku. Kad je potrebna bilo koja stranica gurnuta na tvrdi disk, ona se prebacuje u fizičku memoriju stavljanjem druge odabrane stranice iz fizičke memorije na tvrdi disk.
Koja je razlika između predmemorije i virtualne memorije?
• Privremena memorija vrsta je memorije koja se koristi za poboljšanje vremena pristupa glavnoj memoriji. To je brža vrsta memorije koja se nalazi između CPU-a i RAM-a radi smanjenja prosječne latencije pristupa memoriji. Virtualna memorija metoda je upravljanja memorijom gdje je to koncept koji omogućava programima da dobiju vlastiti prostor virtualne memorije, koji je čak veći od stvarnog dostupnog fizičkog RAM-a.
• Privremena memorija vrsta je hardverske memorije koja zapravo fizički postoji. S druge strane, ne postoji hardver koji se naziva virtualna memorija, jer je to koncept koji koristi RAM, tvrdi disk, jedinicu za upravljanje memorijom i softver za pružanje virtualne vrste memorije.
• Upravljanje predmemorijskom memorijom vrši se u potpunosti hardverom. Virtualnom memorijom upravlja operativni sustav (softver).
• Privremena memorija nalazi se između RAM-a i procesora. Prijenosi podataka uključuju RAM, predmemoriju i procesor. S druge strane, virtualna memorija uključuje prijenos podataka između RAM-a i tvrdog diska.
• Privremene memorije zauzimaju male veličine, poput kilobajta i megabajta. S druge strane, virtualna memorija uključuje ogromne veličine koje zauzimaju gigabajte.
• Virtualna memorija uključuje podatkovne strukture kao što su tablice stranica koje pohranjuju mapiranje između fizičke i virtualne memorije. Ali ova vrsta struktura podataka nije potrebna za predmemoriju.
Sažetak:
Privremena memorija vs virtualna memorija
Privremena memorija koristi se za poboljšanje vremena pristupa glavnoj memoriji, dok je virtualna memorija metoda upravljanja memorijom. Predmemorija je stvarni hardver, ali ne postoji hardver koji se naziva virtualna memorija. RAM, tvrdi disk i razni drugi hardver zajedno s operativnim sustavom stvara koncept nazvan virtualna memorija za pružanje velikih i izoliranih prostora virtualne memorije svakom programu. Sadržajem u predmemoriji upravlja hardver, dok sadržajem u virtualnoj memoriji upravlja operativni sustav.
Ljubaznost slika:
- Postupak predmemorirane memorije od strane Hellispa (CC BY-SA 3.0)
- Virtualna memorija Ehamberga (CC BY-SA 3.0)