1樓:匿名使用者
1、應用中的概念。
實體記憶體,在應用中,自然是顧名思義,物理上,真實的插在板子上的記憶體是多大就是多大了。看機器配置的時候,看的就是這個實體記憶體。
虛擬記憶體,這個概念就要稍微瞭解一下cpu了,^_^,只是稍微,畢竟我們現在談的是應用中的概念。我們應該知道,對於一般的32位cpu,有32根地址線,那麼它的定址空間就是4gb。也就是說,如果沒有其他的限制,我們的主機板上最大可以安裝4gb的實體記憶體。
哈哈,一般的機器是不會裝那麼多實體記憶體的,大把的銀子啊,價效比可合不上。程式設計師可不管這個,我們對cpu程式設計,不能一臺機器根據你實體記憶體的大小我編一個程式吧?那也太原始社會了吧。
所以程式設計師都是直接使用的4gb的奢侈的程序空間(或許,不應該用奢侈這麼短視的詞。曾幾何時,128m的實體記憶體也是我們不可想象的呢?)。
這怎麼辦?總不能不用那些程式了吧。好吧,這個問題交給os去解決吧。
這樣,os就提出了一個虛擬記憶體的概念。就是程序、使用者、不必考慮實際上實體記憶體的限制,而直接對4gb的程序空間進行定址。如果所定址的資料實際上不在實體記憶體中,那就從「虛擬記憶體」中來獲取。
這個虛擬記憶體可以是一個專門檔案格式的磁碟分割槽(比如linux下的swap分割槽),也可以是硬碟上的某個足夠大的檔案(比如win下的那個i386檔案,好像是這個名字)。實體記憶體中長期不用的資料,也可以轉移到虛擬記憶體中。這樣的交換由os來控制,使用者看起來就好像實體記憶體大了一樣。
有了虛擬記憶體的概念,我們就可以自由的使用4gb的程序空間了。但是,前提是你的硬碟由足夠的空間,而且你捨得劃分出(4gb-實體記憶體)大的虛擬記憶體空間來。^_^。
一般情況下,虛擬記憶體的大小,各個os也進行了限制(比如linux的swap分割槽的大小,win下也可以調整虛擬記憶體檔案的大小和位置)。所以,我們程式所能使用的儲存空間大小就是:實體記憶體+虛擬記憶體。
2、cpu中的概念。
實體記憶體,cpu的地址線可以直接進行定址的記憶體空間大小。比如8086只有20根地址線,那它的定址空間就是1mb。我們就說8086能支援1mb的實體記憶體。
即使我們安裝了128m的記憶體條在板子上,我們也只能說8086擁有1mb的實體記憶體空間。同理32位的386以上cpu,就可以支援最大4gb的實體記憶體空間了。
虛擬記憶體,這便是一個和cpu的定址方式有關的一個概念了。x86體系結構中,為了更好的管理記憶體空間,採用分段的方式來對記憶體進行定址。比如8086就用兩個位元組的段基地址和兩個位元組的偏移地址來定址整個可以定址的記憶體空間,即:
0000:0000方式(具體怎麼計算出實際的地址,參見各種彙編教材)。這樣,對整個1mb的實體記憶體空間定址是沒有問題了。
可是,用這種方式,最大可以定址到10ffef這個地址。這超出了20根地址線的地址的ffef大小的空間,就可以說是8086的虛擬記憶體了,所以可以說8086的虛擬記憶體地址空間可以達到10ffef。^_^,具體怎麼使用和看待這段記憶體,還取決於a20線的選通與否了,這是另外的話題了。
同樣的道理,386以上的cpu,由於在保護模式下使用了gdt和ldt,將段的定義放到了記憶體中,從而可以使用16位的段地址和32位的偏移地址。這樣算來,386以上的cpu的虛擬記憶體地址空間就可以達到64tb了。真是大的驚人,看來,這麼大的地址空間,一時還不能被軟體的發展淘汰。
3、零碎的叫法。
零碎的叫法常常來自與相對感覺深奧詼澀的虛擬記憶體概念。物理的東西,人們大多不去碰它,畢竟是實實在在存在的。而虛擬記憶體就經常有別冒名頂替的。
「一個程序有4個gb的虛擬記憶體」這樣的說法屢見不鮮,其實,這是混淆了4gb的程序地址空間和虛擬記憶體這兩個概念。也算令一種解釋吧,畢竟那4個gb也是見不著影的,也是虛擬的。
2樓:匿名使用者
你買的電腦實際記憶體都有數值的,一般是256m或512m,這個就叫實體記憶體。記憶體大小直接決定你電腦的運轉速度,越大約好。與它相對的是虛擬記憶體,那是當實體記憶體不夠時,暫時以硬碟作記憶體用,速度遠不及實體記憶體。
虛擬記憶體系統設有預設值,也可以自定義虛擬記憶體——當系統提示虛擬記憶體太小(玩大型遊戲)時。
3樓:匿名使用者
至於貼這末多嗎?實體記憶體即cpu的地址線可以直接進行定址的記憶體空間大小。
電腦實體記憶體為什麼佔用很多,電腦實體記憶體使用率很高怎麼回事
幾個比較有疑慮的地方是 1.工作管理員中的程序與服務佔用的記憶體總量明顯於實際佔用的實體記憶體不同 40 左右 工作管理員的截圖沒有截全,但是通過檢視程序與服務的總數,再以大概的平均記憶體佔用量進行估計,應當是遠遠小於40 8g 3g以上的實際記憶體佔用量的。2.貌似資源監視器的程序與服務內容與工作...
減小虛擬記憶體會增加實體記憶體嗎,關於實體記憶體和虛擬記憶體
不會,虛擬記憶體和實體記憶體無關。你右擊我的電腦選擇屬性看看上面的資訊顯示你的記憶體是多大的,如果不是4g的話你可以把記憶體拔了用橡皮擦一下再重新插回去,然後啟動看看記憶體有多大 虛擬記憶體使用的是硬碟的空間,在你的硬碟上劃出一塊地方來作為一塊假的記憶體,存放一些不是立刻使用的資料,和實體記憶體無關...
實體記憶體可用數低,我實體記憶體是6G的 可用數才2G 我用的是win7 64位的
你看的是這個圖吧?稍等 圖這東西度娘要稽核 那個最底下的 實體記憶體 mb 裡面的數字不是真正的實體記憶體佔用,這是個翻譯失誤 微軟陰溝裡翻船,失敗啊 看上面的綠色柱狀圖,那個才是記憶體,通常2g記憶體會佔1g左右 40個不多啊,我開機就50個 虛擬記憶體設定 右鍵單擊計算機 屬性 高階系統設定 高...