[ Team LiB ] Previous Section Next Section

Requirements

How much memory you actually need in a computer depends on what you want to do. If all you want to do is boot up your computer, you need amazingly little memory. The very first IBM personal computer could boot up with 16 kilobytes of memory—that's about 1/100th of what your computer uses for a typical full-screen display on your monitor. Loading an operating system and the programs you want to run takes more. With the latest of Microsoft's Windows operating systems, you need about 4000 times more.

Minimums

The big numbers reflect big changes in computer software. Most people would never want to tangle with the black screen with a few characters in green pasted on it that the first computers beckoned with. Adding the friendly and familiar face of Windows (it's at least familiar by now) required about 8MB in its first modern incarnation, Windows 95. Since then, every major new version of Windows has required about double the previous version. Table 16.1 summarizes the minimal memory requirements of the various versions of Windows.

Table 16.1. Memory Requirement of Various Windows Versions
Windows Version Minimum Memory Recommended Memory
Windows 95 8MB 16MB
Windows 98 16MB 32MB
Windows Me 32MB 64MB
Windows NT 32MB 64MB
Windows 2000 64MB 128MB
Windows XP 128MB 256MB

Once Windows loads, it can cope with almost any program—even one that uses more memory than you have in your system. When Windows runs out of physical memory in your computer, it dips into virtual memory and uses part of your hard disk to simulate extra solid-state memory. Because virtual memory relies on your hard disk with its physical speed limits, its use slows your system dramatically. You can avoid such slowdowns by adding memory above the listed minimum to your system. Doubling the memory minimum usually provides enough memory if you mostly rely on running a single application. If you're seriously into multitasking and regularly switch between applications, or if you regularly edit large images or videos, you'll want even more memory—up to the maximum allowed by your system (if you can afford it).

System Resource Memory

If you run an early version of Windows on your computer, you can often run into out-of-memory errors, even when you have sufficient memory in your computer and even after you install more memory. This problem arises because Windows internally allocates blocks of memory to specific purposes. Windows calls these blocks heaps, and together they make up system resource memory. For reasons reaching back into the history of the Windows environment, these blocks are fixed in size and can impose severe limits on the operation of your computer. You may have dozens of megabytes available in your computer, but Windows will issue an out-of-memory error when one of these heaps approaches its capacity. It may also tell you to unload some of your applications to free up memory, although this rarely helps. Windows just doesn't deal with depleted resources well, and the best cure is usually a reboot.

For example, if you try to put too many icons on the screen at once, you may run out of memory in a heap. Windows will report too little memory and fail to rasterize the icons, leaving them as black boxes, even though you have multiple megabytes of free memory in your system. Free up some memory, and the icons will come back, but whatever problem caused the shortfall—typically a poorly designed program—will still nibble away at your resources, often even after you unload the errant application.

This problem is particularly acute with Windows 95. With Windows 98, Microsoft increased the storage allocated to system resources, although the problem can still occur (even with Windows Me). The Windows NT family (including Windows 2000 and Windows XP) uses a different structure that makes such errors unlikely.

You can check the available system resources in a Windows 95 or 98 system by choosing the System icon from the Control Panel window. Select the Performance tab, and Windows will list its memory and system resource usage, as shown in Figure 16.1.

Figure 16.1. The Windows Performance tab.

graphics/16fig01.jpg

Maximum Usable Memory

You face four limits to the maximum amount of memory you can install in a computer. Two are imposed by hardware, one by Windows, and one by your budget.

The physical design of your computer limits the number of memory modules you can install. You cannot fit more memory into your system than will fit into its memory sockets. The specification of most computers will state this memory maximum. Usually it is listed as the number of slots for memory modules and the maximum size of module supported. For example, a computer with three slots each allowing a 512MB memory module has a maximum capacity of 1.5GB.

The chipset in your computer also limits the amount of memory you can install. Although today's microprocessors readily handle 64GB or more, most chipsets are more severely constrained. Again, the chipset limits the number of slots for adding modules and maximum module size. These numbers typically match or exceed the physical spaces available in your computer.

Each version of Windows has its own addressing limit. Add more memory—even when space is available in your computer—and the excess will be unusable. In some cases, too much memory can even stop your programs and computer from working.

In DOS-based versions of Windows—that is, Windows 95, 98 and Me—you will run into a roadblock if you install more than 512MB of memory. Your system may erroneously report that it does not have enough memory to run a specific application or even Windows itself, refusing to run the operating system. The problem arises from the 32-bit cache driver used by these versions of Windows. This driver automatically sets its size based on the amount of memory it detects in your system. If you have more than 512MB, it can steal memory from the Windows system area, leaving none for such functions as loading a DOS prompt.

To use more than 512MB memory with these versions of Windows, you must adjust the size of vcache in the system.ini file. This is a text file that you can view and modify with any text editor, such as Notepad (which is included with Windows). But be careful when editing any system file—a mistake can cause programs, and Windows itself might not to work properly. Find the entry [VCache] and adjust the MaxFileCache setting to 512MB or less. The entry is in kilobytes rather than megabytes, so you need to specify 524,288 kilobytes or less, as shown here:

[VCache]
    MinFileCache=51200
    MaxFileCache=524288

In general, the addressing limits of the Windows NT family exceed the physical capacity of most of today's computers. Earlier Windows versions may, however, constrain the amount of useful memory you can install in your computer. Table 16.2 summarizes the maximum memory usable by popular versions of Windows.

Table 16.2. Windows Addressing Limits
Windows Version Maximum Addressable Memory
Windows 95 768MB*
Windows 98 768MB*
Windows Millennium Edition 768MB*
Windows NT 4GB
Windows 2000 Professional 4GB
Windows 2000 Server 4GB
Windows 2000 Advanced Server 8GB
Windows XP Home Edition 4GB
Windows XP Professional 4GB
Windows XP 64-Bit Edition 16GB

    [ Team LiB ] Previous Section Next Section