Computer Basics
Surprisingly few people really understand what the difference between memory and disk space really is and how a computer uses them. Many people have asked me if they remove such-and-such a program will it give them more memory? The answer is maybe.

Overview

The purpose of computers is to run applications software such as an eMail client, WEB browser, word processor, spreadsheet application, database application, etc. There are many components involved in this process, however, the most commonly confused elements are related to memory.

Data Storage versus Memory Access

Files and Programs that you install or create are typically stored on your hard drive. RAM, (often referred to as "main memory" or just "memory") is used by the CPU to make the files and programs faster to access. To read a 1 MB (MegaByte) file from the hard drive takes about 1/4 second to locate the file on the computer, then another 1/20 of a second to transfer the file. That may sound fast, but contrast that to RAM which does not have to locate the information (because it is random access, it can go right to it) and it takes only 1/1000 of a second to transfer 1 MB of data.

RAM (Random Access Memory or main memory)

RAM memory is memory that is very close to the CPU (brain) of the computer and retains no information when a computer is turned off. RAM (random access memory) is used as a super-fast working area to store information such as programs and data so that they can be accessed quickly, over and over.

If someone tells you that you need to add memory to your machine, then removing software programs (from your hard drive) is not going to help. One common exception to this is software applications that load themselves or partially load into memory when they system is started or your log in. Examples are MSN Messenger (or any chat program), Kazaa (or any peer to peer file sharing program), AOL, printer drivers, background download managers, etc.

To tell if you need more memory on your machine, click here to follow a simple procedure.

Hard Drive

Your hard drive is where all the system files (Operation System), software applications, data bases and data files are stored. When you run a program (application) such as Word, the Operating System loads the application into RAM and then executes it. Any data files that are opened are also first loaded into RAM. A typical system today may have a 40GB hard drive but may only have 256MB of RAM. If your RAM becomes full, the system has to use virtual memory (see next section) and that makes your computer slow down significantly.

Your hard drive has one or more platters inside that spin very fast (typically 7500 rpm's). There are heads (like on the cartridge tape drive or 8-track if your old enough to know what that means) that read and write the information onto the platter using electromagnetic technology. Don't place magnets around your hard drives!

I'm getting rather detailed here, but I want to show you why hard drives are so much slower than RAM. To access information on the hard drive; (assuming it knows exactly where the information is) the head has to move to the proper track on the platter and the rotation of the drive has to get to the starting point of the information. The time it takes to do this is called the seek time for the drive. The hard drive also has a maximum transfer rate which is how fast (Mb/sec) that it can read or write information that is contiguous (on the same track or the next track over). To find a file on the hard drive, the operating system stores pointers to each file on the hard drive starting at the root of the file system (C: for instance). To find a file such as C:\Program Files\Microsoft Office\Office11\WinWord.exe (that is where the actual Word application is stored) the operating system has to read pointers for each folder to find the application file. This requires many seek times plus the actual time to read the data.

By now, you may realize that the speed of your computer depends on many things, not just how fast that CPU is (Pentium IV at 3.4GHz won't help you if you have 128MB of memory and you really need 512MB.

Disk Fragmentation

Have you ever been told you need to "defrag your hard drive"? What happens when a system has been in use for a long time, especially if the disk is over half full is that your files are no longer contiguous (together). In other words, they are stored all over the platter on your hard drive in small pieces. Defragmentation takes the files on your hard drive and tries to make them contiguous. This reduces the number of seeks required so that you can take advantage of that "maximum transfer rate". This is a long and arduous process, similar to those rectangular puzzles that have one space missing so that you can only make one move at a time. The fuller your hard drive, the harder (and longer) it takes. In fact, once it reaches 20% free, the "defrag" tool won't even try. If you have read this far, you are approaching geek-hood.

Virtual Memory

Virtual memory is actually hard drive space that is used to store temporary information that would normally be stored in RAM, but there is not enough room. You operating system manages "paging" between the RAM and virtual memory on your hard drive. It picks things that have not been used lately to push out to virtual memory. If it didn't do this, your computer would crash once you ran out of RAM.

If you ever see the message that the system is increasing your Virtual Memory, then you need to add more memory to your system. Increasing your Virtual Memory means it is allocating more of your hard drive to store the temporary information that doesn't fit in RAM.

Operating System

Your operating system (Windows XP Pro or Home Edition, Windows 2000, Windows 98 or Windows ME) is the software that manages the user interface on your computer. When you move your mouse, click your mouse or type a key on the keyboard, the operating system handles sending that event along with any data (the key pressed) to the proper application on you computer. The operating system also manages the resources on your computer like managing your RAM and the paging to virtual memory (as discussed above).