Gyorsítótár memória vs virtuális memória
A gyorsítótár és a virtuális memória közötti különbség abban a célban létezik, amelyre ezt a kettőt használják, és a fizikai létezésben. A gyorsítótár a memória olyan típusa, amelyet a fő memória elérési idejének javítására használnak. A CPU és a fő memória között található, és több szintű gyorsítótár lehet, például L1, L2 és L3. A gyorsítótár számára használt hardver típusa sokkal drágább, mint a fő memóriához használt RAM (Random Access Memory), mert a gyorsítótár memória sokkal gyorsabb. Emiatt a cache memória kapacitása nagyon kicsi. A virtuális memória egy olyan memóriakezelési technika, amelyet a RAM (fő memória) hatékony felhasználására használnak, miközben minden program számára külön memóriaterületet biztosít, amely még nagyobb, mint a tényleges fizikai RAM (fő memória) kapacitás. Itt a merevlemezt használják a memória bővítésére. A fizikai RAM-ban lévő elemeket oda-vissza továbbítja a merevlemez.
Mi az a gyorsítótár?
A gyorsítótár memória egy olyan típusú memória, amely a CPU (központi processzor) és a RAM (véletlen hozzáférésű memória) között helyezkedik el. A gyorsítótár memóriájának célja a CPU memóriához való hozzáférési idejének csökkentése a RAM-ból. A gyorsítótár memória sokkal gyorsabb, mint a RAM. Tehát a gyorsítótár elérési ideje sokkal kevesebb, mint a RAM-on. De a gyorsítótár memóriájához használt memória költségei jóval magasabbak, mint a RAM memóriájához használt memória költségei, ezért a cache memória kapacitása nagyon kicsi. A gyorsítótár számára használt memória típusát SRAM-nak (Static Random Access Memory) nevezik.
Amikor a CPU hozzáférni akar a memóriához, először azt ellenőrzi, hogy a cache memóriában található-e az, amire szüksége van. Ha igen, akkor a legkevesebb késéssel érheti el. Ha nem a gyorsítótárban található, akkor a kért tartalom átmásolásra kerül a RAM-ból a gyorsítótárba, majd csak a CPU fér hozzá a gyorsítótárból. Itt, amikor tartalmat másol a gyorsítótárból, nemcsak a kért memóriacímben található tartalom, hanem a közeli tartalom is átmásolódik a gyorsítótárba. Tehát, amikor legközelebb nagy a valószínűsége a gyorsítótár-találatnak, mivel a legtöbb számítógépes program a legtöbbször a közeli adatokhoz vagy az utoljára elért adatokhoz fér hozzá. Tehát a gyorsítótár miatt az átlagos memória késleltetés csökken.
A CPU-ban háromféle gyorsítótár létezik: Utasító gyorsítótár a program utasításainak tárolásához, Adat gyorsítótár az adatok elemeinek tárolásához, és a Fordítás keresési puffer a memória leképezések tárolásához. Az adatgyorsítótár esetében általában többszintű gyorsítótárak vannak. Vagyis több gyorsítótár létezik, mint L1, L2 és L3. Az L1 gyorsítótár a leggyorsabb, de legkisebb gyorsítótár memória, amely a CPU-hoz áll legközelebb. Az L2 gyorsítótár lassabb, mint az L1, de nagyobb, mint az L1, és az L1 gyorsítótár után helyezkedik el. Ezen hierarchia miatt jobb átlagos memóriaelérési idő érhető el alacsonyabb költségekkel.
Mi a virtuális memória?
A virtuális memória a számítógépes rendszerekben használt memóriakezelési technika. Nincs virtuális memóriának nevezett hardver, de ez egy olyan koncepció, amely a RAM-ot és a merevlemezt használja a programok virtuális címterének biztosítására. Az első RAM oldalaknak nevezett darabokra oszlik, és fizikai memória címek alapján azonosítják őket. A merevlemezen egy speciális részt tartanak fenn, ahol Linux alatt swap, Windows rendszerben pedig oldalfájlnak hívják. A program indításakor kap egy virtuális címteret, amely még nagyobb is lehet, mint a tényleges fizikai memória. A virtuális memóriaterület szintén oldalaknak nevezett darabokra oszlik, és ezek a virtuális memóriaoldalak leképezhetők egy fizikai oldalra. Az oldal táblának nevezett táblázat nyomon követi ezt a leképezést. Amikor a fizikai memóriában elfogy a hely, akkor az történik,bizonyos fizikai oldalak a merevlemez speciális részébe kerülnek. Ha a merevlemezre helyezett bármely oldalra ismét szükség van, akkor a fizikai memóriából egy másik kiválasztott oldalt a merevlemezre helyezve a fizikai memóriába kerül.
Mi a különbség a gyorsítótár és a virtuális memória között?
• A gyorsítótár a memória olyan típusa, amelyet a fő memória elérési idejének javítására használnak. Ez egy gyorsabb memória, amely a CPU és a RAM között helyezkedik el, hogy csökkentse az átlagos memóriaelérési késést. A virtuális memória olyan memóriakezelési módszer, ahol egy olyan koncepció, amely lehetővé teszi a programok számára a saját virtuális memóriaterületének megszerzését, amely még nagyobb, mint a rendelkezésre álló valós fizikai RAM.
• A gyorsítótár egy olyan hardver memória, amely fizikailag létezik. Másrészt nincs virtuális memóriának nevezett hardver, mivel ez egy olyan koncepció, amely RAM-ot, merevlemezt, Memória-kezelő egységet és szoftvert használ virtuális típusú memória biztosításához.
• A gyorsítótár memória kezelését teljes egészében hardver végzi. A virtuális memóriát az operációs rendszer (szoftver) kezeli.
• A gyorsítótár memória a RAM és a processzor között helyezkedik el. Az adatátvitel magában foglalja a RAM-ot, a gyorsítótárat és a processzort. A virtuális memória viszont magában foglalja az adatátvitelt a RAM és a merevlemez között.
• A gyorsítótár memóriák kis méretűek, például kilobájt és megabájt méretűek. A virtuális memória viszont hatalmas méreteket foglal magában, amelyek gigabájtot igényelnek.
• A virtuális memória olyan adatstruktúrákat foglal magában, mint például a táblák, amelyek a fizikai memória és a virtuális memória közötti leképezést tárolják. De az ilyen típusú adatstruktúrák nem szükségesek a gyorsítótár számára.
Összegzés:
Gyorsítótár memória vs virtuális memória
A gyorsítótár memória a fő memória elérési idejének javítására szolgál, míg a virtuális memória egy memóriakezelési módszer. A gyorsítótár memória tényleges hardver, de nincs virtuális memóriának nevezett hardver. A RAM, a merevlemez és a különféle egyéb hardverek az operációs rendszerrel együtt létrehozzák a virtuális memória nevű koncepciót, hogy minden programhoz nagy és elszigetelt virtuális memóriaterületet biztosítsanak. A gyorsítótár memóriájában lévő tartalmat hardver, míg a virtuális memóriában lévő tartalmat az operációs rendszer kezeli.
Képek jóvoltából:
- Gyorsítótár-memória folyamata Hellisp által (CC BY-SA 3.0)
- Ehamberg virtuális memóriája (CC BY-SA 3.0)