Virtual Memory: The memory that is easily used by the upper layer after abstraction of discontinuous physical memory.
Windows Virtual Memory Distribution:
32-bit CPU:
32bit CPU's addressing space is 0 ~ 4 G (2^32), low 2G for the user address space (users space), corresponding to R3 permissions, the user's process is working in this space, high 2G for the system address space, corresponding to R0, for all system components, drive shared memory space.
Each bit represents an address line, and the 32-bit CPU indicates that the address line has 32.
The system can allow all low address space to be used for a single application (However, applications can specify that the system should allocate all memory for the application Below 2 gigabytes.)
https://msdn.microsoft.com/en-us/library/windows/desktop/aa384271 (v=vs.85). aspx
Therefore, the x86 application can request up to 2G of memory, and the driver can request up to 2G of memory.
64-bit CPU:
64bit Low 8G is the user control, high 240G is the system space.
The x64 application can request up to 8 t of memory.
x86 x64 application's memory limit documentation:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa366778 (v=vs.85). aspx
Windows virtual Memory