物理内存

物理内存

通過物理内存條而獲得的内存空間
物理内存是指由于安裝内存條而獲得的臨時儲存空間。主要作用是在計算機運行時為操作系統和各種程序提供臨時儲存。常見的物理内存規格有256M、512M、1G、2G等,當物理内存不足時,可以用虛拟内存代替。看計算機配置的時候,主要看的就是這個物理内存。
    中文名:物理内存 外文名:Physical memory 别名: 含義:内存條的容量的大小 類别:計算機配置 本質:代碼和數據在其中運行的窗口 對比:虛拟内存 主流配置:4G或以上

概念

應用中的描述

物理内存,在應用中,自然是顧名思義,物理上,真實存在的插在主闆内存槽上的内存條的容量的大小。看計算機配置的時候,主要看的就是這個物理内存。

内存在計算機中的作用至關重要,電腦中所有運行的程序都需要經過内存來執行,如果執行的程序很大或很多,就會導緻内存消耗殆盡。為了解決這個問題,Windows運用了虛拟内存技術,将一部分硬盤空間來充當内存使用,雖然硬盤的運行速度不能與内存相比,可是容量卻要比内存的容量高出許多。其作用在于可将一些讀取到内存中卻暫時不用的數據轉移到虛拟内存中,這樣便可釋放出内存的空間,将有限的内存空間去繼續存放未被讀取的數據,以緩解内存的緊張。

CPU中的描述

物理内存,CPU的地址線可以直接進行尋址的内存空間大小。比如8086隻有20根地址線,那它的尋址空間就是1MB。我們就說8086能支持1MB的物理内存。即使我們安裝了128M的内存條在闆子上,我們也隻能說8086擁有1MB的物理内存空間。同理32位的386以上CPU,就可以支持最大4GB的物理内存空間了。

虛拟内存與物理内存的區别:虛拟内存就與物理内存相反,是指根據系統需要從硬盤虛拟地勻出來的内存空間,是一種計算機系統内存管理技術,屬于計算機程序,而物理内存為硬件。因為有時候當你處理大的程序時候系統内存不夠用,此時就會把硬盤當内存來使用,來交換數據做緩存區,不過物理内存的處理速度是虛拟内存的30倍以上。

意義

物理内存是計算機上的最重要的資源之一。Windows的内存管理器負責給活動進程、設備驅動,和操作系統自己分配内存。因為絕大多數系統所能訪問的數據和代碼遠比物理内存多,所以從本質上來說,物理内存是代碼和數據在其中運行的窗口。所以内存容量對性能有影響,因為如果進程或者操作系統所需的代碼或者數據不存在,内存管理器就需要從磁盤中讀取這些内容。

除了會對性能造成影響,物理内存的容量還會影響其他資源。例如,對于非分頁池來說,這是由物理内存提供後備的操作系統緩沖,很明顯,其容量會受到物理内存的限制。物理内存也會對系統的虛拟内存限制有影響,虛拟内存的大小等于物理内存容量、再加上所有頁面文件的最大容量。物理内存還會對進程的最大數量具有間接的影響。

Windows對于物理内存的支持,要受到諸如硬件限制、許可、操作系統數據結構,以及驅動程序的兼容性等方面的綜合影響。MSDN網站的Memory Limits for Windows Releases文章對不同Windows版本、以及同一個版本的不同SKU的限制進行介紹。

我們可以查看所有Windows版本的不同SKU的物理内存支持許可。例如,32位Windows Server 2008标準版僅支持4GB,而32位Windows Server 2008數據中心版支持64GB。類似的,64位Windows Server 2008标準版支持32GB,而64位Windows Server 2008數據中心版支持2TB。目前來說,并沒有多少系統擁有2TB内存,不過Windows Server性能産品組知道有兩台服務器擁有那麼多的内存,其中一台位于某地的實驗室。

32位的最大限制是128GB,Windows Server 2003數據中心版可以支持,這是因為在大内存的系統上,内存管理器用來追蹤物理内存的結構,需要消耗更多系統虛拟地址空間。内存管理器把每個内存頁的追蹤數據保存在叫做PFN數據庫的數組中,而且考慮到性能因素,會把整個PFN數據庫映射到虛拟内存中。因為它用28字節的數據結構來代表每個内存頁,128GB系統的PFN數據庫需要将近930MB的空間。32位Windows擁有4GB的虛拟地址空間,由硬件所定義,默認劃分為兩半,其中一半供用戶模式進程(例如Notepad)所使用,另一半供系統所使用。因此980MB的容量就要占據将近一半的系統虛拟地址空間(共2GB),隻剩下約1GB空間可以用來映射内核、驅動程序、系統緩存和其他系統數據結構。

内存限制

64位Windows客戶端,不同SKU的内存支持也有所不同,Windows XP Starter版的内存支持最低,僅512MB,而Windows Vista旗艦版的内存支持最高,可達128GB。但是所有版本的32位Windows客戶端SKU,包括Windows Vista、Windows XP和Windows 2000 Professional,最大支持4GB物理内存。标準的X86内存管理模式,最大可以支持4GB的物理地址訪問。在早期,并不需要考慮在客戶端提供超過4GB的支持,因為當時很少有計算機配備那麼高的内存,哪怕是服務器。

但是在Windows XP SP2開發的過程中,已經可以預見客戶端計算機将會配備超過4GB的内存,所以Windows産品組對超過4GB的Windows XP計算機進行大量的測試。Windows XP SP2還支持物理地址擴展(PAE)功能,該功能本來是為了在硬件上實現非執行(NX)保護,因為這是數據執行保護(DEP)的必要條件,但是該功能還可以支持超過4GB的内存。

Windows産品組的工程師發現,很多測試計算機會發生崩潰、挂起或者無法啟動的故障現象,這是因為某些設備驅動程序所導緻的,主要是一些客戶端計算機(而非服務器)上的顯卡或者聲卡,其驅動程序在編寫時沒有考慮到内存大于4GB的情況。所以,這些驅動程序會截去那部分地址,從而導緻内存沖突以及其他副作用。而服務器則通常會配備更加常規的硬件設備,其驅動程序更加簡單穩定,因為通常來說碰到這些問題的幾率很小。由于客戶端設備驅動程序所存在的這些問題,迫使Windows客戶端SKU隻能忽略高于4GB的那部分物理内存,哪怕從理論上來說可以對其進行尋址。

相關詞條

相關搜索

其它詞條