a virtuális memória a számítógépes rendszer másodlagos memóriaterületének (például a merevlemez vagy szilárdtestalapú meghajtó) olyan területe, amely úgy működik, mintha a rendszer RAM-jának vagy elsődleges memóriájának része lenne.
ideális esetben az alkalmazások futtatásához szükséges adatokat a RAM tárolja, ahol a CPU gyorsan elérheti őket. De ha nagy alkalmazások futnak, vagy ha egyszerre sok alkalmazás fut, a rendszer RAM-ja megtelhet.
a probléma elkerülése érdekében a RAM-ban tárolt, aktívan nem használt adatok ideiglenesen áthelyezhetők a virtuális memóriába (amely fizikailag egy merevlemezen vagy más tárolóeszközön található). Ez felszabadítja a helyet a RAM-ban, amelyet fel lehet használni olyan adatok befogadására, amelyekhez a rendszernek hamarosan hozzáférnie kell.
a RAM és a virtuális memória közötti adatcserével, amikor nincs rá szükség, és vissza a virtuális memóriából a RAM-ra, amikor szükség van rá, a rendszer továbbra is zökkenőmentesen működhet sokkal kevesebb fizikai RAM-mal, mint amire egyébként szüksége lenne.
a virtuális memória lehetővé teszi a rendszer számára, hogy nagyobb alkalmazásokat vagy több alkalmazást futtasson egyszerre anélkül, hogy elfogyna a RAM. Pontosabban, a rendszer úgy működhet, mintha a teljes RAM-erőforrása megegyezne a fizikai RAM mennyiségével, plusz a virtuális RAM mennyiségével.
miért van szükség virtuális memóriára?
a virtuális memóriát akkor fejlesztették ki, amikor a fizikai RAM nagyon drága volt, és a RAM még mindig drágább gigabájtonként, mint az adathordozók, például a merevlemezek és a szilárdtestalapú meghajtók. Ezért sokkal olcsóbb a fizikai RAM és a virtuális memória kombinációjának használata, mint a számítógépes rendszer több RAM-mal történő felszerelése.
mivel a virtuális memória használata (vagy a virtuális memória növelése) nem jár többletköltséggel (mivel a meglévő tárhelyet használja), lehetőséget kínál arra, hogy a számítógép több memóriát használjon, mint amennyi a rendszeren fizikailag rendelkezésre áll.
a virtuális memória használatának másik kulcsfontosságú mozgatórugója, hogy minden számítógépes rendszer rendelkezik (hardver és szoftver által diktált) korlátozással a telepíthető fizikai RAM mennyiségére. A virtuális memória használata lehetővé teszi a rendszer számára, hogy a fizikai RAM-korlátokon túl is működjön.
virtuális memória vs.fizikai memória
mivel a RAM drágább, mint a virtuális memória, úgy tűnik – minden egyenlő–, hogy a számítógépeket a lehető legkevesebb RAM-mal és annyi virtuális memóriával kell felszerelni.
de valójában a virtuális memória jellemzői különböznek a fizikai memóriától. A virtuális memória és a fizikai memória közötti fő különbség az, hogy a RAM sokkal gyorsabb, mint a virtuális memória.
tehát egy 2 GB fizikai RAM-mal és 2 GB virtuális memóriával rendelkező rendszer nem nyújt ugyanolyan teljesítményt, mint egy hasonló, 4 GB fizikai RAM-mal rendelkező rendszer. Ahhoz, hogy megértsük, miért, meg kell értenünk, hogyan működik a virtuális memória.
Hogyan Működik A Virtuális Memória?
amikor egy alkalmazás (beleértve az operációs rendszert is) fut, a programszálak és egyéb adatok helyét egy virtuális címen tárolja, míg az adatokat valójában egy fizikai címen tárolja a RAM-ban. Ha később ezt a RAM-helyet egy másik folyamat sürgetőbben igényli, akkor az adatok kicserélhetők a RAM-ból a virtuális memóriába.
a fizikai és virtuális memória közötti adatcsere nyomon követésének felelőssége a számítógép memóriakezelőjére hárul. A memóriakezelő egy táblázatot tart fenn, amely leképezi az operációs rendszer és az alkalmazások által használt virtuális címeket azokra a fizikai címekre, amelyekben az adatok ténylegesen tárolódnak. Amikor az adatokat a RAM és a virtuális memória között cserélik, a táblázat úgy frissül, hogy az adott virtuális cím mindig a megfelelő fizikai helyre mutasson.
a számítógép csak a virtuális memória helyett a RAM-ban tárolt szálakat és adatokat képes kezelni. Nem elhanyagolható időt vesz igénybe a szükséges adatok RAM-ba történő cseréje. Következésképpen ebből következik, hogy a virtuális memória használata teljesítményütést jelent.
másképpen fogalmazva: egy 4 GB RAM-mal rendelkező rendszer általában nagyobb teljesítményt nyújt, mint egy 2 GB RAM-mal és 2 GB virtuális memóriával rendelkező rendszer, a csere által okozott teljesítmény-ütés miatt, és ezért azt mondják, hogy a virtuális memória lassabb, mint a RAM.
a virtuális memória egyik lehetséges problémája az, hogy ha a jelen lévő RAM mennyisége túl kicsi a virtuális memória mennyiségéhez képest, akkor a rendszer a CPU erőforrásainak nagy részét oda-vissza cserélheti. Eközben a hasznos munka teljesítménye szinte megáll – ezt a folyamatot verésnek nevezik.
a verés megakadályozása érdekében általában csökkenteni kell az egyidejűleg futó alkalmazások számát, vagy egyszerűen növelni kell a RAM mennyiségét a rendszerben.
az operációs rendszerek, mint például a Windows legtöbb verziója, általában azt javasolják, hogy a felhasználók ne növeljék a virtuális memóriát a fizikai RAM mennyiségének 1,5-szeresére. Tehát egy 4 GB RAM-mal rendelkező rendszernek legfeljebb 6 GB virtuális memóriával kell rendelkeznie.
a fizikai és a virtuális memória közötti csere által okozott teljesítmény-találat minimalizálása érdekében a legjobb, ha a rendszerhez csatlakoztatott leggyorsabb tárolóeszközt használja a virtuális memória tárolásához, és a virtuális memória tárolóterületének megkereséséhez a saját partícióján.
a virtuális memória a számítógép fő memóriájával összhangban működhet a gyorsabb, folyékonyabb műveletek lehetővé tétele érdekében.
Hogyan növelhető a virtuális memória egy rendszerben
a legtöbb operációs rendszer lehetővé teszi a felhasználók számára a virtuális memória növelését egy konfigurációs oldalról.
- Windows rendszerben a felhasználók azt is engedélyezhetik, hogy a rendszer dinamikusan kezelje a biztosított virtuális memória mennyiségét.
- Hasonlóképpen, a Mac OS-ben a felhasználók a beállítások panelt használhatják a virtuális memória kiosztására.
a virtuális memória típusai: Lapozás és szegmentálás
a virtuális memóriát számos különböző módon kezelheti a rendszer operációs rendszere, és a két leggyakoribb megközelítés a lapozás és a szegmentálás.
virtuális memória Lapozás
egy olyan rendszerben, amely lapozást használ, a RAM számos blokkra oszlik – általában 4K méretű – úgynevezett oldalak. A folyamatok ezután csak annyi oldalt osztanak ki, hogy megfeleljenek a memóriaigényüknek. Ez azt jelenti, hogy mindig kis mennyiségű memória pazarolódik el, kivéve azt a szokatlan esetet, amikor egy folyamat pontosan egész oldalszámot igényel.
a normál műveletek során az oldalak (azaz a 4K méretű memóriablokkok) a RAM és a virtuális memóriát képviselő oldalfájl között cserélődnek.
virtuális memória szegmentálás
a szegmentálás a memóriakezelés alternatív megközelítése, ahol a rögzített méretű oldalak helyett a folyamatok különböző hosszúságú szegmenseket osztanak ki, hogy pontosan megfeleljenek a követelményeknek. Ez azt jelenti, hogy ellentétben a lapozott rendszer, nincs memória kárba egy szegmensben.
a szegmentálás lehetővé teszi az alkalmazások logikailag független címterekre történő felosztását is, ami megkönnyíti a megosztást és biztonságosabbá teszi őket.
de a szegmentálás problémája az, hogy mivel minden szegmens eltérő hosszúságú, memória “töredezettséghez” vezethet.”Ez azt jelenti, hogy a szegmensek kiosztása és elosztása során apró memóriadarabok maradhatnak szétszórva, amelyek túl kicsik ahhoz, hogy hasznosak legyenek.
ahogy ezek a kis darabok felépülnek, egyre kevesebb hasznos méretű szegmens osztható ki. És ha az operációs rendszer elkezdi használni ezeket a kis szegmenseket, akkor hatalmas számot kell nyomon követni, és minden folyamatnak sok különböző szegmenst kell használnia, ami nem hatékony és csökkentheti a teljesítményt.
a virtuális memória előnyei és hátrányai
annak ellenére, hogy a RAM ma már viszonylag olcsó a virtuális memória kifejlesztésének költségeihez képest, még mindig rendkívül hasznos, és még mindig sok, talán a legtöbb számítógépes rendszerben alkalmazzák. A virtuális memória fő problémája a teljesítményre vonatkozik.
a virtuális memória előnyei
- lehetővé teszi több alkalmazás futtatását egyszerre.
- lehetővé teszi a nagyobb alkalmazások futtatását olyan rendszerekben, amelyek nem rendelkeznek elegendő fizikai RAM-mal a futtatáshoz.
- módot ad a memória növelésére, ami olcsóbb, mint több RAM vásárlása.
- lehetővé teszi a memória növelését egy olyan rendszerben, amely a hardver és az operációs rendszer által támogatott maximális RAM-mal rendelkezik.
a virtuális memória hátrányai
- nem nyújt ugyanolyan teljesítményt, mint a RAM.
- negatívan befolyásolhatja a rendszer általános teljesítményét.
- olyan tárhelyet foglal el, amelyet egyébként hosszú távú adattárolásra lehetne használni.