Few days ago I upgraded RAM on one of my computers to 4 GB, but to my surprise my Windows XP SP3 machine refused to recognize the full RAM and displayed only 2.87 GB as usable, further investigation on the problem revealed that although 32-Bit operating systems like Windows XP and Vista can address and support a maximum of 4 GB RAM but the operating system needs to reserve memory addressing space for hardware devices, so out of the total 4 GB addressing space the operating system is left with 4 GB minus the addressing space required for the current hardware configuration.
However, according to this Microsoft Article Windows XP and Windows Vista can both address more RAM using the Physical Address Extension (PAE).