學習啦>學習電腦>電腦硬件知識>內(nèi)存知識>

關于虛擬內(nèi)存和物理內(nèi)存

時間: 捷鋒774 分享

  Windows大家都已經(jīng)很熟悉物理內(nèi)存和虛擬內(nèi)存了把,現(xiàn)在小編帶你們走進Linux的虛擬內(nèi)存和物理內(nèi)存吧。

  關于虛擬內(nèi)存和物理內(nèi)存:

  物理內(nèi)存,在應用中,自然是顧名思義,物理上,真實的插在板子上的內(nèi)存是多大就是多大了。看機器配置的時候,看的就是這個物理內(nèi)存。 虛擬內(nèi)存,這個概念就要稍微了解一下CPU了,^_^,只是稍微,畢竟我們現(xiàn)在談的是應用中的概念。我們應該知道,對于一般的32位CPU,有32根地址線,那么它的尋址空間就是4GB。也就是說,如果沒有其他的限制,我們的主板上最大可以安裝4GB的物理內(nèi)存。哈哈,一般的機器是不會裝那么多物理內(nèi)存的,大把的銀子啊,性價比可合不上。程序員可不管這個,我們對CPU編程,不能一臺機器根據(jù)你物理內(nèi)存的大小我編一個程序吧?那也太原始社會了吧。所以程序員都是直接使用的4GB的奢侈的進程空間(或許,不應該用奢侈這么短視的詞。曾幾何時,128M的物理內(nèi)存也是我們不可想象的呢?)。這怎么辦?總不能不用那些程序了吧。好吧,這個問題交給OS去解決吧。這樣,OS就提出了一個虛擬內(nèi)存的概念。就是進程、用戶、不必考慮實際上物理內(nèi)存的限制,而直接對4GB的進程空間進行尋址。如果所尋址的數(shù)據(jù)實際上不在物理內(nèi)存中,那就從“虛擬內(nèi)存”中來獲取。這個虛擬內(nèi)存可以是一個專門文件格式的磁盤分區(qū)(比如linux下的swap分區(qū)),也可以是硬盤上的某個足夠大的文件(比如win下的那個i386文件,好像是這個名字)。物理內(nèi)存中長期不用的數(shù)據(jù),也可以轉(zhuǎn)移到虛擬內(nèi)存中。這樣的交換由OS來控制,用戶看起來就好像物理內(nèi)存大了一樣。有了虛擬內(nèi)存的概念,我們就可以自由的使用4GB的進程空間了。但是,前提是你的硬盤由足夠的空間,而且你舍得劃分出(4GB-物理內(nèi)存)大的虛擬內(nèi)存空間來。^_^。一般情況下,虛擬內(nèi)存的大小,各個OS也進行了限制(比如linux的swap分區(qū)的大小,win下也可以調(diào)整虛擬內(nèi)存文件的大小和位置)。所以,我們程序所能使用的存儲空間大小就是:物理內(nèi)存+虛擬內(nèi)存。要調(diào)大虛擬內(nèi)存,右鍵單擊我的電腦,屬性,高級,性能的設置,高級選項卡

592793