Training
Module
Explore Windows architecture - Training
This module provides information about the operating system’s architecture and supported devices. It also describes the desktop support environment and troubleshooting terminology.
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Address Windowing Extensions (AWE) is a set of extensions that allows an application to quickly manipulate physical memory greater than 4GB. Certain data-intensive applications, such as database management systems and scientific and engineering software, need access to very large caches of data. In the case of very large data sets, restricting the cache to fit within an application's 2GB of user address space is a severe restriction. In these situations, the cache is too small to properly support the application.
AWE solves this problem by allowing applications to directly address huge amounts of memory while continuing to use 32-bit pointers. AWE allows applications to have data caches larger than 4GB (where sufficient physical memory is present). AWE uses physical nonpaged memory and window views of various portions of this physical memory within a 32-bit virtual address space.
AWE places a few restrictions on how this memory may be used, primarily because these restrictions allow extremely fast mapping, remapping, and freeing. Fast memory management is important for these potentially enormous address spaces.
This solution addresses the physical memory issues in a very general, widely applicable manner. Some of the benefits of AWE are:
An application must have the Lock Pages in Memory privilege to use AWE. To obtain this privilege, an administrator must add Lock Pages in Memory to the user's User Rights Assignments. For more information on how to do this, see "User Rights" in the operating system help.
The following functions make up the Address Windowing Extensions (AWE) API.
Function | Description |
---|---|
VirtualAlloc and VirtualAllocEx | Reserve a portion of virtual address space to use for AWE, using MEM_PHYSICAL. |
AllocateUserPhysicalPages | Allocate physical memory for use with AWE. |
MapUserPhysicalPages | Map (or invalidate) AWE virtual addresses onto any set of physical pages obtained with AllocateUserPhysicalPages. |
MapUserPhysicalPagesScatter | Map (or invalidate) AWE virtual addresses onto any set of physical pages obtained with AllocateUserPhysicalPages, but with finer control than that provided by MapUserPhysicalPages. |
FreeUserPhysicalPages | Free physical memory that was used for AWE. |
Training
Module
Explore Windows architecture - Training
This module provides information about the operating system’s architecture and supported devices. It also describes the desktop support environment and troubleshooting terminology.