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