Memory Architecture

In the Win32 environment, each process has its own 32-bit virtual address space of up to 4GB. The 2GB in low memory (0×00000000 to 0×7FFFFFFF) are available to the user, and the 2GB in high memory (0×80000000 to 0×FFFFFFFF) are reserved for the kernel. In advanced versions of Windows 2000, the 2GB user memory is expanded to 3GB, while the kernel memory is reduced to 1GB.

The addresses used by a process do not represent the actual physical location in memory. The kernel maintains a page map for each process used to translate virtual addresses into corresponding physical addresses. This allows the memory manager to move memory and keep it as efficient as possible based on the existing needs.

All memory addresses are relative ...

Get Microsoft Windows 2000 API SuperBible now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.