On 32-bit x86 systems, the total virtual address space has a theoretical maximum of 4 GB. By default, Windows allocates half this address space (the lower half of the 4-GB virtual address space, from x00000000 through x7FFFFFFF) to processes for their unique private storage and uses the other half (the upper half, addresses x80000000 through xFFFFFFFF) for its own protected operating system memory utilization.
64-bit Windows provides a much larger address space for processes: 7152 GB on IA-64 systems and 8192 GB on x64 systems.
I have several questions about the above quote :
- Why low address space is allocated for processes?
- "...uses the other half (the upper half, addresses x80000000 through xFFFFFFFF) for its own protected operating system memory utilization." - Why operating system doesn`t use physical addresses for system address space,but uses virtual addresses?
- Why on x64 system 8192GB is used for process and for system?In oppose to 32bit OS not all space of addresses is used?
Thank you