Virtual Address Space

The virtual addresses used by a process do not represent the actual physical location of an object in memory. Instead, the system maintains a page map for each process, which is an internal data structure used to translate virtual addresses into corresponding physical addresses.

The virtual address space is divided into partitions.

Windows NT Server, Enterprise Edition: The 3 GB partition in low memory (0x00000000 to 0xBFFFFFFF) is available to the process, and the 1 GB partition in high memory (0xC0000000 to 0xFFFFFFFF) is reserved for the system.

Windows NT: The 2 GB partition in low memory (0x00000000 to 0x7FFFFFFF) is available to the process, and the 2 GB partition in high memory (0x80000000 to 0xFFFFFFFF) is reserved for the system.

Windows 95 and Windows 98: The 4 MB partition in low memory (0x00000000 to 0x00000FFF) is used for compatibility with MS-DOS and 16-bit Windows, the next approximately 2G partition (0x00400000 to 0x7FFFFFFF) is available to the process for private use, the next 1 GB partition (0x80000000 to 0xBFFFFFFF) is shared by all Win32 processes, and the 1 GB partition in high memory (0xC0000000 to 0xFFFFFFF) is used by the system.

For more information on virtual memory, see the following topics.