View Single Post
  #7   (View Single Post)  
Old 7th April 2009
phoenix's Avatar
phoenix phoenix is offline
Risen from the ashes
Join Date: May 2008
Posts: 696

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.

Help for FreeBSD: Handbook, FAQ, man pages, mailing lists.
Reply With Quote