淺析電腦中的虛擬內(nèi)存與虛擬存儲
虛擬內(nèi)存的作用是什么?到底設(shè)置多少為好?虛擬內(nèi)存與虛擬存儲有何區(qū)別?本文就來對它進行詳細(xì)的介紹。以下所有步驟均以Windows XP操作系統(tǒng)為例。
本文引用地址:http://cafeforensic.com/article/201991.htm1.桌面版windows上經(jīng)常要設(shè)置虛擬內(nèi)存,尤其是實際內(nèi)存很小時;設(shè)置虛擬內(nèi)存后,計算機可以運行比實際內(nèi)存更大的軟件;
這個虛擬內(nèi)存技術(shù),其實主要就是換頁技術(shù);將外部存儲空間的一部分用來存放內(nèi)存中暫時不用的東西,就好像它是內(nèi)存一樣,要的時候再把它調(diào)進內(nèi)存,也就是所謂的虛擬了;桌面版windows可以設(shè)置這塊虛擬內(nèi)存的位置(位于哪個盤下),及大小,它對應(yīng)的有一個文件pagefile.sys;
2.虛擬存儲技術(shù)(虛擬內(nèi)存技術(shù),這個虛擬內(nèi)存完全不同于上面所說的虛擬內(nèi)存),就是程序員在編寫程序時使用的地址都從0開始,到運行程序時再進行重定位;常將這個從0開始的地址空間,叫虛擬存儲空間(有人也叫虛擬內(nèi)存空間);這樣做有一個極大的好處:程序員不用管它寫的程序最后會被放到內(nèi)存的什么地方執(zhí)行。
這個虛擬操作系統(tǒng)的支持,當(dāng)然更虛擬CPU硬件的支持,像8051單片機好像就不支持這個,像S3C2410這樣的arm芯片就支持;這個硬件就是MMU(內(nèi)存管理單元)
3.不要提到虛擬內(nèi)存或虛擬存儲,就以為計算機可以運行比程序?qū)嶋H需要的內(nèi)存大的程序;這種想法肯定是錯誤的。很多的嵌入式系統(tǒng),比如windows mobile手機它支持2G的虛擬存儲空間,但不支持換頁技術(shù),這就表示它不能運行超過它實際可用內(nèi)存大小的軟件;因為這里說的2G只是程序員可用的地址空間,它并不能把當(dāng)前運行程序的一部分放置到外存上,它必須完全滿足運行的程序需要的內(nèi)存才能運行這個程序;當(dāng)然如果windows mobile手機配置了超過2G的內(nèi)存,它當(dāng)然可以運行這樣的大程序了。
實際上它們的英語單詞好像是一樣的。但意思不一樣。一個就是指虛擬出的內(nèi)存;一個表示一個技術(shù),這個技術(shù)需要MMU和操作系統(tǒng)的支持。虛擬內(nèi)存是Windows XP為作為內(nèi)存使用的一部分硬盤空間。即便物理內(nèi)存很大,虛擬內(nèi)存也是必不可少的。虛擬存儲簡單地說就是使主機操作系統(tǒng)看到的存儲與實際物理存儲分開。
評論