Why does a 32-bit OS support 4 GB of RAM?

Blankman picture Blankman · Jul 13, 2009 · Viewed 52.2k times · Source

Just reading some notes in a purdue lecture about OSs, and it says:

A program sees memory as an array of bytes that goes from address 0 to 2^32-1 (0 to 4GB-1)

Why 4 GB?

Answer

Joey picture Joey · Jul 13, 2009

Because 32 bits are able to represent numbers up to 232 − 1 = 4294967295 = 4 GiB − 1 and therefore address up to 232 individual bytes which would be 4 GiB then.

There are ways to circumvent that, though. For example using PAE even a 32-bit operating system can support more memory. Historically this has most commonly been used on servers, though. Also, the non-server Windows SKUs don't support it. By now all that is moot, though, given that 64-bit CPUs, OSes and driver support are commonplace.