Virtuális memória
A Wikipédiából, a szabad lexikonból.
A virtuális memória egy, az operációs rendszer vagy a számítógép hardvere által nyújtott szolgáltatás (legtöbbször a kettő szoros együttműködése), amit általában egy külső tárolóterület (merevlemez) igénybevételével, a futó program(ok) számára transzparens módon biztosítja, hogy a program végrehajtáskor a központi vagy operatív memória fizikai korlátai észrevétlenek legyenek.
Az operációs rendszer úgy szabadít fel operatív memóriát az éppen futó program számára, hogy a memóriában tárolt, de éppen nem használt blokkokat (lapokat) kiírja a külső tárolóra, amikor pedig ismét szükség van rájuk, visszaolvassa őket. Mivel a merevlemez sebessége töredéke a memória sebességének, nagyon sok múlik azon, hogy a virtuálismemória-kezelő milyen stratégiát alkalmaz az operatív memóriából kimozgatandó lapok kiválasztásakor.
[szerkesztés] Linuxos megközelítésben
A Linux támogatja a virtuális memória (virtual memory) kezelését. Ez azt jelenti, hogy képes lemezterületet RAM bõvítésként kezelni, azaz a felhasználható memória mérete ennek megfelelõen nõ. A kernel a pillanatnyilag nem használt memóriablokkokat kiírja a merevlemezre, így a felszabaduló memória más célra felhasználható lesz. Amint az eredeti tartalomra újra szükség lesz, a kernel visszaolvassa a memóriába. Ez teljesen láthatatlan a felhasználó számára; a Linux alatt futó programok csak a nagy memóriaterületet látják és nem veszik észre, hogy bizonyos részei idõnként a lemezre kerülnek. Természetesen a merevlemez írása és olvasása sokkal lassabb, mint a valódi memória használata, ami a programok futását lassítja. (A memória és a merevlemez olvasási és írási sebessége közt pár ezerszeres szokott lenni a különbség.)
A merevlemez azon részét, amelyet a virtuális memória használ swap területnek (swap space) nevezzük.
[szerkesztés] Windows NT-s megközelítésben
A virtuális memória segítségével minden alkalmazásnak lehetősége van arra, hogy elérje a számára szükséges memória címterületet. A Windows NT ezt úgy oldja meg, hogy minden alkalmazásnak a rendelkezésére bocsátja a szükséges virtuális memóriaterületet, majd pedig ha szükséges belapozza ezt a területet a fizikai memóriába (RAM-ba). A lapozás 4KB-os blokkokban történik, amiket „lapoknak” nevezünk. Minden virtuális memóriához 4GB-os címtér tartozhat. Mivel kevés rendszer tartalmaz elég RAM-ot ahhoz, hogy minden alkalmazásnak ki lehessen osztani 4GB-ot, az operációs rendszer felosztja a fizikai RAM oldalakat a virtuális memória terek között.


Based on work by