The OS is not allocating the memory. Let me see if I can explain this.
In the old model, the processor at a RAM buss and an I/O buss, and
the OS could use all the RAM. In the new model, many devices
actually look like "RAM" to do OS. It reads a certain memory address
and it gets the value of some device, instead of memory, or it writes
to a certain memory address and it sets the value of some device.
The mother board manufacturer, and perhiperal manufactures all
have a hand in using memory for I/O. Since a 32 bit processor can only
access 4 gigs of RAM, if you put 4 gigs in, some of the address space
will be stolen by the memory mapped hardware. If you have a 64 bit
processor, there are plenty of memory addresses to go around, and
everyone is happy.
Note this is very simplified, and there is really no new model, as memory
addressed hardware has been around forever, but in the past, it was
rare to be able to get enough RAM for this to be a problem.
-- Larry Maturo