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