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