1. 程式人生 > >Windows 32位程式記憶體擴充套件

Windows 32位程式記憶體擴充套件


所有 32 位應用程式都有 4 GB 的程序地址空間(32 位地址最多可以對映 4 GB 的記憶體)。對於 Microsoft Windows 作業系統,應用程式可以訪問 2 GB 的程序地址空間,稱為使用者模式虛擬地址空間。應用程式擁有的所有執行緒都共享同一個使用者模式虛擬地址空間。其餘 2 GB 為作業系統保留(也稱為核心模式地址空間)。所有作業系統版本(從 Windows 2000 Server 開始,包括 Windows Server 2003)都有一個 boot.ini 開關,可以為應用程式提供訪問 3 GB 的程序地址空間的許可權,從而將核心模式地址空間限定為 1 GB。

訪問程序地址空間的 AWE

下一版本的 Microsoft SQL Server 將刪除該功能。請不要在新的開發工作中使用該功能,並儘快修改當前還在使用該功能的應用程式。

地址視窗化擴充套件外掛 (AWE) 通過允許訪問儘可能多的作業系統支援實體記憶體來擴充套件 32 位應用程式的功能。AWE 可以將最大記憶體容量 64 GB 的一部分對映到使用者地址空間來實現此功能。應用程式緩衝池和 AWE 對映記憶體之間的對映通過操作 Windows 虛擬記憶體表來完成。

為了支援 3 GB 的使用者模式程序空間,必須將 /3gb 引數新增到 boot.ini 檔案中並重新啟動計算機,從而使 /3gb 引數生效。設定此引數後,使用者應用程式執行緒可以定址 3 GB 的程序地址空間,而為作業系統保留 1 GB 的程序地址空間。

注意注意

如果計算機上有 16 GB 以上的可用實體記憶體,作業系統需要 2 GB 的程序地址空間供系統使用,因此只能支援 2 GB 的使用者模式地址空間。為了讓 AWE 能夠使用 16 GB 以上的記憶體,應確保 boot.ini 檔案中沒有/3gb

引數。否則,作業系統就不能定址 16 GB 以上的記憶體。