-> On 32-bit machines, a program instruction (basically a 32-bit pointer) can address to maximum of 4 GB of virutal memory. 32-bit programs still use the 4-GB tuning model (2 GB User and 2 GB Kernel).
Theoretically, a 64-bit pointer could address up to 16 exabytes. 64-bit versions of Windows have currently implemented up to 16 terabytes of address space.
-> Each process is assigned an address space of 4 GB of virtual memory, regardless of amount of physical memory. Each process is isolated and has its own 4 GB address space
-> The limit of memory used by all applications is:
RAM + maximum size of page file