To try and make this very simple, as a lot of folks seem to not understand how this works.
XP 32 can use up to 4 gig of memory, that is total memory in your system, counting everything else that has memory on it, in, or attached to it, not just the RAM you are looking at.
For instance, if you have a video card with 512meg of memory, it's address space be allocated first, leaving only ~3.5 gig of main memory available for Windows to use.
Add a HDD with an 8 meg buffer, there goes another 8 meg, add a sound card with on board memory like 525k, there goes another half a meg.
These systems will have their memory allocated first, what ever is left over up to the 4 gig is what you will have available for XP to use from your main memory, or RAM.
On most commonly configured systems, with a couple of hard drives, a 512 meg video card, sound card card, controller cards, etc. Most people wind up with around 3-3.4 gig of main memory available for XP to use.
The exact same rules apply to Vista 32 bit.
Now MS has issued a patch that will cause Vista, (And I think maybe XP as well) to actually show the total amount of main memory or RAM you have in your system, instead of what is left over after allocating space to all the other components first, that it can actually use. A lot of folks think that after this patch is installed, *Pretso* Windows is now using all 4 gig of the main RAM memory installed.
It is not.
It is a display change only, since a lot of people were thinking that something was wrong when they were installing 4 gig and Windows used to only display 3.2 or whatever.