Although operating systems like Linux or FreeBSD show better performance having 64 MB of RAM, Windows XP is able to run on the same hardware.
Laskin (n.d.) writes that 128Mb was simply not enough to allow Windows XP to operate efficiently. He observed an average increase in speed of 25% between 128Mb and 256Mb. The next step up in his investigation was 512Mb. Here the increase was less dramatic but still quite noticeable, about a 5% increase in speed depending on the test.
Whilst extra memory can affect the overall speed, Lackey (n.d.) writes, it can also make for smoother operation depending on the task in hand. Basic word processing and Internet access usually require no more then 128-256Mb of RAM. More demanding tasks can soon show the inadequacy of low amounts of RAM.
Graphics and Sound are the two memory consumers. Complex documents containing graphics or embedded charts and especially more sophisticated PowerPoint presentations are much easier to handle with between 256and 512Mb. Databases start to benefit too at this level. In fact, the more RAM the better when it comes to these as they can keep their temporary tables in memory speeding up performance immensely.
The real memory consuming tasks include 3D work, both CAD (Computer Aided Design) and more generalized computer graphics, real time video editing and real world modeling such as water flow calculations. Here the sky is the limit with 1Gb or more not being at all unreasonable. Most people who Lackey (n.d.) knows work with 3D graphics professionally tend to run at their systems maximum, usually 4Gb.
Addressing of Memory in Windows XP
As Nichol (2006) writes, a program instruction in a modern operating system on an Intel 386 or later CPU can address up to 4GB of memory, using its full 32 bits. This is normally far more than the RAM of the machine. So the hardware provides for programs to operate in terms of as much as they wish of this full 4GB space as Virtual Memory, those parts of the program and data which are currently active being loaded into Physical Random Access Memory (RAM). The processor itself then translates ('maps') the virtual addresses from an instruction into the correct physical equivalents, doing this on the fly as the instruction is executed. The processor manages the mapping in terms of pages of 4 Kilobytes each - a size that has implications for managing virtual memory by the system.
By Nichol (2006), only those parts of the program and data that are currently in active use need to be held in physical RAM. Other parts are then held in a page file (in Windows NT versions including Windows 2000 and XP: pagefile.sys). When a program tries to access some address that is not currently in physical RAM, it generates an interrupt, called a Page Fault. This asks the system to retrieve the 4 KB page containing the address from the page file (or in the case of code possibly from the original program file). This - a valid page fault - normally happens quite invisibly. Sometimes, through