地址窗口擴展

地址窗口擴展 ( 縮寫AWE ） 是一項Microsoft Windows應用程序接口 ， 它允許32位應用軟件訪問超出其虛擬地址空間限制 （ 4 GB ） 的物理內存 。 在地址窗口擴展下將應用程序的虛擬地址空間映射到物理內存的過程被稱爲 “ 加窗 ” （ windowing ） ， 並類似其他環境的覆蓋概念 。 AWE對於需要操作極大數據集的數據密集型應用程序 （ 例如數據庫管理系統 ， 科學和工程學軟件 ） 有益 。 應用程序保留虛擬地址空間的區域或 “ 窗口 ” ， 並分配物理內存的一個或多個區域 。 使用地址窗口擴展API ， 應用可以將虛擬窗口映射到任何一個物理區域 。 應用程序可以保留多個虛擬地址空間 ， 並將其映射到物理內存的任何分配區域 ， 只需虛擬地址空間中保留的字節數與物理內存區域相匹配 。 應用程序必須有 “ 鎖定內存頁 ” 的特權才能使用地址窗口擴展 。 當保留內存超過4GB時 ， 地址窗口擴展依賴於物理地址擴展的支持 。 地址窗口擴展在Windows 2000中作爲一個取代方法的新API被引入 。 PSE36方法自Windows NT 4.0 企業版引入 ， 用於訪問超過4GB內存 ， 在Windows 2000中已不支持 。 第一批使用地址窗口擴展的應用程序是Oracle 8.1.6 和Microsoft SQL Server 2000 。 如果 / 3GB引導標識被使用以重新分配32位虛擬空間 （ 2GB內核空間和2GB用戶空間改爲3GB用戶空間 ） ， 地址窗口擴展將只能訪問16GB物理內存 。 此限制是因爲只有1GB內存保留給內核 ， 而沒有足夠的內存用於映射超過16GB內存的頁表項 。 通過地址窗口擴展可尋址的最大內存量也因Windows許可方案而額外限制 。 例如 ， Windows 2000 Advanced Server限制爲8GB ， Windows 2000 Data Center Server則支持64GB 。 2004年在發佈的一篇文章稱注意到使用地址窗口擴展分配的內存將不會被寫入頁面文件 ， 並建議AWE區域因此可作爲保護敏感的應用程序數據 （ 如加密密鑰 ） 的一種方式 。