In message <
[email protected]>, "Ken Blake,
[]
All 32-bit client versions of Windows (not just Vista/XP/7) have a 4GB
address space (64-bit versions can use much more). That's the
theoretical upper limit beyond which you can not go.
But you can't use the entire 4GB of address space. Even though you
have a 4GB address space, you can only use *around* 3.1GB of RAM.
That's because some of that space is used by hardware and is not
available to the operating system and applications. The amount you can
use varies, depending on what hardware you have installed, but can
range from as little as 2GB to as much as 3.5GB. It's usually around
3.1GB.
Note that the hardware is using the address *space*, not the actual
RAM itself. If you have a greater amount of RAM, the rest of the RAM
goes unused because there is no address space to map it to.
[]
Since the hardware presumably doesn't need much, presumably the RAM
_beyond_ the hardware address _could_ be used, if someone were to write
a suitable "memory manager" (as used to be done in the early days of DOS
to get round the "640k" limit (and even a little around 1M, IIRR).
Unless the hardware uses incomplete address decoding, that is.
If such a manager were to be written, of course, only software that knew
about it could use it (like DOS software that either knew about being
"loaded high" or didn't), so there probably would be insufficient
usefulness for it to be worth anybody's while, since software houses
would be unlikely to cater for it.