Most home computer users are unaware of that operating systems come in various “flavors” which dictates the maximum amount of memory that can be recognized. Microsoft Windows 95, 98, ME, 2000, and XP are/were 32-bit operating systems meaning that they could address a maximum of 4 gigabytes of memory at one time. This number is calculated as 2 to the 32nd power or 4,294,967,296 bytes of total memory. 32-bit operating can address memory up to this maximum giving 32-bit operating systems a 4-gigabyte memory limitation. Any memory above this limit is unaddressed (ignored). After the release of Windows XP, a 64-bit version of the operating system was released removing this limitation. In addition, Windows Vista and Windows 7 come in both 32-bit and 64-bit versions allowing purchasers to decide which operating is better for them. Using the same logic above, 64-bit operating systems have a theoretical limit of about 18,446,744,073,709,551,616 bytes (2 raised to the 64th power) or 16 exabytes of memory. However, due to other hardware and practical limitations it is unlikely that 64-bit operating could ever address this amount of memory given contemporary hardware design.
Since the majority of people use 32-bit operating systems, it is worth discussing the 4-gigabyte memory limitation in detail. It turns out that computers running 32-bit operating systems and with 4-gigabytes of memory installed are not able to address the entire amount of RAM. This is because the 32-bit memory limitation includes a limitation on all cached memory in the system including video card memory, memory cached by the CPU, and various other types of memory in a computer. These computers typically can address only about 2.5 to 3.2 gigabytes of RAM leaving the remaining RAM unused.