【計(jì)算機(jī)的物理內(nèi)存是什么東西,有什么作用啊】

、應(yīng)用中的概念 。物理內(nèi)存,在應(yīng)用中,自然是顧名思義,物理上,真實(shí)的插在板子上的內(nèi)存是多大就是多大了 。看機(jī)器配置的時(shí)候,看的就是這個(gè)物理內(nèi)存 。虛擬內(nèi)存,這個(gè)概念就要稍微了解一下CPU了,^_^,只是稍微,畢竟我們現(xiàn)在談的是應(yīng)用中的概念 。我們應(yīng)該知道,對(duì)于一般的32位CPU,有32根地址線,那么它的尋址空間就是4GB 。也就是說(shuō),如果沒(méi)有其他的限制,我們的主板上最大可以安裝4GB的物理內(nèi)存 。哈哈,一般的機(jī)器是不會(huì)裝那么多物理內(nèi)存的,大把的銀子啊,性價(jià)比可合不上 。程序員可不管這個(gè),我們對(duì)CPU編程,不能一臺(tái)機(jī)器根據(jù)你物理內(nèi)存的大小我編一個(gè)程序吧?那也太原始社會(huì)了吧 。所以程序員都是直接使用的4GB的奢侈的進(jìn)程空間(或許,不應(yīng)該用奢侈這么短視的詞 。曾幾何時(shí),128M的物理內(nèi)存也是我們不可想象的呢?) 。這怎么辦?總不能不用那些程序了吧 。好吧,這個(gè)問(wèn)題交給OS去解決吧 。這樣,OS就提出了一個(gè)虛擬內(nèi)存的概念 。就是進(jìn)程、用戶、不必考慮實(shí)際上物理內(nèi)存的限制,而直接對(duì)4GB的進(jìn)程空間進(jìn)行尋址 。如果所尋址的數(shù)據(jù)實(shí)際上不在物理內(nèi)存中,那就從“虛擬內(nèi)存”中來(lái)獲取 。這個(gè)虛擬內(nèi)存可以是一個(gè)專門文件格式的磁盤分區(qū)(比如linux下的swap分區(qū)),也可以是硬盤上的某個(gè)足夠大的文件(比如win下的那個(gè)i386文件,好像是這個(gè)名字) 。物理內(nèi)存中長(zhǎng)期不用的數(shù)據(jù),也可以轉(zhuǎn)移到虛擬內(nèi)存中 。這樣的交換由OS來(lái)控制,用戶看起來(lái)就好像物理內(nèi)存大了一樣 。有了虛擬內(nèi)存的概念,我們就可以自由的使用4GB的進(jìn)程空間了 。但是,前提是你的硬盤由足夠的空間,而且你舍得劃分出(4GB-物理內(nèi)存)大的虛擬內(nèi)存空間來(lái) 。^_^ 。一般情況下,虛擬內(nèi)存的大小,各個(gè)OS也進(jìn)行了限制(比如linux的swap分區(qū)的大小,win下也可以調(diào)整虛擬內(nèi)存文件的大小和位置) 。所以,我們程序所能使用的存儲(chǔ)空間大小就是:物理內(nèi)存+虛擬內(nèi)存 。2、CPU中的概念 。物理內(nèi)存,CPU的地址線可以直接進(jìn)行尋址的內(nèi)存空間大小 。比如8086只有20根地址線,那它的尋址空間就是1MB 。我們就說(shuō)8086能支持1MB的物理內(nèi)存 。即使我們安裝了128M的內(nèi)存條在板子上,我們也只能說(shuō)8086擁有1MB的物理內(nèi)存空間 。同理32位的386以上CPU,就可以支持最大4GB的物理內(nèi)存空間了 。虛擬內(nèi)存,這便是一個(gè)和CPU的尋址方式有關(guān)的一個(gè)概念了 。x86體系結(jié)構(gòu)中,為了更好的管理內(nèi)存空間,采用分段的方式來(lái)對(duì)內(nèi)存進(jìn)行尋址 。比如8086就用兩個(gè)字節(jié)的段基地址和兩個(gè)字節(jié)的偏移地址來(lái)尋址整個(gè)可以尋址的內(nèi)存空間,即:0000:0000方式(具體怎么計(jì)算出實(shí)際的地址,參見各種匯編教材) 。這樣,對(duì)整個(gè)1MB的物理內(nèi)存空間尋址是沒(méi)有問(wèn)題了 。可是,用這種方式,最大可以尋址到10FFEF這個(gè)地址 。這超出了20根地址線的地址的FFEF大小的空間,就可以說(shuō)是8086的虛擬內(nèi)存了,所以可以說(shuō)8086的虛擬內(nèi)存地址空間可以達(dá)到10FFEF 。^_^,具體怎么使用和看待這段內(nèi)存,還取決于A20線的選通與否了,這是另外的話題了 。同樣的道理,386以上的CPU,由于在保護(hù)模式下使用了GDT和LDT,將段的定義放到了內(nèi)存中,從而可以使用16位的段地址和32位的偏移地址 。這樣算來(lái),386以上的CPU的虛擬內(nèi)存地址空間就可以達(dá)到64TB了 。真是大的驚人,看來(lái),這么大的地址空間,一時(shí)還不能被軟件的發(fā)展淘汰 。3、零碎的叫法 。零碎的叫法常常來(lái)自與相對(duì)感覺(jué)深?yuàn)W詼澀的虛擬內(nèi)存概念 。物理的東西,人們大多不去碰它,畢竟是實(shí)實(shí)在在存在的 。而虛擬內(nèi)存就經(jīng)常有別冒名頂替的 。“一個(gè)進(jìn)程有4個(gè)GB的虛擬內(nèi)存”這樣的說(shuō)法屢見不鮮,其實(shí),這是混淆了4GB的進(jìn)程地址空間和虛擬內(nèi)存這兩個(gè)概念 。也算令一種解釋吧,畢竟那4個(gè)GB也是見不著影的,也是虛擬的 。
猜你喜歡
- 廈門郵輪中心廈鼓碼頭停車過(guò)夜怎么收費(fèi)的
- 干炒粉絲的做法步驟圖,干炒粉絲怎么做好吃
- 山姆店買的蛋糕能不能配送
- 我的世界礦車怎么加速
- 山姆超市的蛋糕可以網(wǎng)上訂嗎?
- 繩鋸木斷的下一句
- 山姆的蛋糕是動(dòng)物奶油還是植物奶油
- 電腦桌面右下角調(diào)節(jié)音量的喇叭圖標(biāo)不見了 咋弄出來(lái)捏?是windows7
- 48×74的枕套一個(gè)需要多少布
- 關(guān)于植物開花的唯美句子
