CodePudding user response:
32 is the biggest space of 4 gCodePudding user response:
32 bit CPU platform that provides the virtual address space of 4 g, 4 g virtual address space, the kernel space is divided into 1 g and 3 g user space; All processes share 1 g kernel space, each process using your 3 g user space aloneCodePudding user response:
Is not to say that must be 4 g, should be a maximum of 4 g,,CodePudding user response:
On a 32-bit machine, each process of 4 g, the CPU will die, the program can be used is generally low for 3 g, is within the operating system for approval, as for the program itself can be used in low 3 g how much, that's programming decision,CodePudding user response:
Refers to the process's address space is a virtual address, or even on the machine only put 1 gb of memory chips, its virtual address space for each process is 4 gb, in which the application USES low 3 gb (each process exclusive own 3 gb), the operating system using a 1 gb space (sharing the same 1 g kernel space)4 gb of this calculation is made on hardware register and Address bus digits, due to the register and Address bus x86_32 system is 32 bit, so the addressable space to 2 ^ 32=4 gb, but if you enable PAE (Physical Address Extension, Physical Address Extension), extending the Address line from 32-bit to 36, can be addressed ^ 2 is 36=64 gb of Address space
If is x86_64 architectures on the computer, because too much 2 ^ 64 said address space is too big, so most of the manufacturers only USES 64 - bit CPU registers, but does not use a 64 - bit address bus and generally is 48, the virtual address space of 2 ^ 48=256 TB, the divisions of virtual address space of the Linux is equally divided, user space: 128 TB, kernel space: 128 TB, due to the kernel space to expand, so usually x64 Linux, there is no the high memory area, the concept of all permanent memory can be mapped to a kernel space