The short answer is that is not correct; XP can recognize more than 2 GB of RAM. Any 32 bit operating system (XP, Vista, Linux..) can recognize up to 4 gb of memory... This is just a plain mathematical fact you can take to the bank.. 32 bits, or 2^32 = 4,294,967,296 bytes, or 4 Gigabytes. This is known as the Address space. Before reading on; anything over 3 GB in a PC running a 32 bit os is pretty much a waste of $$..
HOWEVER.
The SDRAM, or memory in you system is not the only thing that consumes 'address space'...Device manufacturers often 'map' their device into the address space. Your Video card for example, may map 512 MB or so of it's memory on the 'bus' which will basically take 512 MB worth of address space away from the systems ability to recognize SDRAM.
If you are really board, and like Hexadecimal; Do a little experiment.
Go into the device manager on your computer; (right click on my computer, select properties, then the hardware tab. Click on the device manager button; and in the View menu, select resources by connection. Expand on the the Memory node;.. you should now see all memory addresses allocated on your system;
There is a lot more to this, but in general, the typical PC of today running 32 bit XP or Vista will recognize around 3 GB of memory; as the rest is 'allocated' to other devices on the bus...
If you really need more, then move to the 64 bit version of XP or Vista; then you'll have an address space of 17,179,869,184 gigabytes to play with... a whole different story ...
