Address Windowing Extensions
Address Windowing Extensions (AWE) is a Microsoft Windows application programming interface that allows a 32-bit software application to access more physical memory than it has virtual address space. The process of mapping an application's virtual address space to physical memory under AWE is known as "windowing," and is similar to the "overlay" concept of other environments. AWE is beneficial to certain data-intensive applications, such as database management systems and scientific and engineering software, that need to manipulate very large data sets.
The application reserves a region, or "window" of virtual address space, and allocates one or more regions of physical memory. Using the AWE API, the application can map the virtual window to any one of the physical regions. The application can reserve more than one virtual address space and map it to any of the allocated regions of physical memory, as long as the number of bytes reserved in the virtual address space matches that of the physical memory region.
AWE usage is coded into the application itself. An application must have the Lock Pages in Memory privilege to use AWE.
The API was first introduced in Windows 2000. An article published in Dr. Dobb's Journal in 2004 noted that memory allocated using Address Windowing Extensions will not be written to the pagefile, and suggested that AWE regions could therefore be used as a way of protecting sensitive application data such as encryption keys.
- "Physical Address Extension". Microsoft. November 6, 2008. Retrieved 2008-12-13.
- Coombs, Jason (October 18, 2004). "Protecting RAM Secrets with Address Windowing Extensions". Dr. Dobb's Journal. Archived from the original on 18 December 2007. Retrieved 2007-12-08.