Many people ask why there even are memory limits in operating systems. Why can’t we simply add as much RAM as our motherboards will physically allow? The answer lies in the nature of addressable information.
As many people know, computers use a binary language to calculate, store, and retrieve information. A bit of information can convey two states, on and off, signified by zeroes and ones in binary language.
A 32-bit operating system can address only 2^32 (i.e. 2 raised to the 32nd power) bits of total memory. This amounts to 4,294,967,296 bits of information. This is why Windows XP has a 4 gigabyte (GB) memory limit. To make matters worse, the operating system can only address about 4 GB of cached memory in total. This means that the total amount of RAM recognized by Windows XP is 4 gigabytes, which includes all cached memory in the computer such as RAM, graphics memory in a video card, cached storage in a CPU, and other sources.
This is why Windows XP only reports about 2.8 to 3.25 GB of RAM in a computer with 4 GB of RAM. The missing RAM is equal to the total cacheable memory from other sources in the computer. To make matters worse, Windows XP can only dedicate 3.25 GB of memory to any single process.