A 32-bit kernel can only access 4 GB of RAM. A 32-bit process can only access 4 GB of RAM (actually less due to the way kernel memory is separated from user memory, usually in a 2/2 split, but some OSes can use 1 GB kernel/3 GB user).
A 32-bit kernel using PAE can access 64 GB of RAM, although most systems seem to be limited to less (BIOS? chipset? CPU?). A 32-bit process cannot access more than 4 GB of RAM. The only benefit to PAE is that it enables you to run multiple 32-bit processes, each accessing their own separate 4 GB.
A 64-bit kernel can access (currently) 2^48 bytes of RAM (limited by the width of the physical address bus, or whatever it's called), and a 64-bit process can also access the whole 2^48 bytes of RAM (or does that use the full 2^64 logical memory space? this physical limitation always confuses me). Eventually, the hardware/memory/address (whatever it's called) bus will be widened out to the complete 2^64 bytes of RAM.
Hence the "rule of thumb" that if you need to access/use more than 4 GB of RAM (more than 3 GB actually), you should use a 64-bit system.
|