History of Virtual Memory

Document Sample
History of Virtual Memory Powered By Docstoc
					            o

History of Virtual Memory

In the early 1940's when computers were still in their infancy, designers had many hardware and
software problems to overcome. Bitter arguments ensued over design as new and radical
prototypes appeared. One such area of concern was the overall storage system of the machine.

Early computers used the two-level storage system consisting of main memory and secondary
memory. The main memory (RAM) for the first computers were magnetic cores. The secondary
memory (hard disks) were magnetic drums. Back then, storage was neither inexpensive nor easy
to find. Today, 128 megabytes of RAM is a standard in most personal computers. Sixty years
ago, the most sophisticated computer filled up a warehouse and was lucky to have 128 kilobytes,
a fraction of what a floppy disk can hold.

This lack of space has serious implications. What happens if program "grows" while it is being
executed? Eventually it will run out of main memory to use. This was one of the main complaints
programmers had. They had to re-code their program every time they switched machines or
added more memory. It would be nice to have an "unlimited" amount of fast, cheap memory in
order to do some serious computing. AHA! Main memory is not the only type memory we have.

Although a significant amount slower, we have the non-volatile hard drive. Now, when we run out
of main memory we could use the hard drive's memory to store data and code. Because the hard
drive is so slow we would like to keep most of the current program in our fast main memory and
create the illusion of an unlimited amount of fast available memory. In order to do this, a special
automatic set of hardware and software was needed. Now we can treat all memory as being on
the same level. Thus, the concept of virtual memory was born.

All new and great ideas usually come into the world on unfriendly terms. Virtual memory was no
different. When the idea came up it was considered too radical for the conservative computer
profession. The first virtual memory machine was developed in 1959. They called it the one level
storage system. Although it was heavily criticized, it spurred many new prototypes during the
early 1960's.

Before virtual memory could be regarded as a stable entity, many models, experiments, and
theories had to be developed to overcome the numerous problems with virtual memory.
Specialize hardware had to be developed that would take a "virtual" address and translate it into
an actual physical address in memory (secondary or primary). Some worried that this process
would be expensive, hard to build, and take too much processor power to do the address
translation.

The final debate was laid to rest in 1969. The question was: Could virtual memory controlled
systems perform better than manual programmer strategies? The IBM's research team, lead by
David Sayre, showed that the virtual memory overlay system worked consistently better than the
best manual-controlled systems.

By the late 1970's the virtual memory idea had been perfected enough to use in every
commercial computer. Personal computers were a different matter. Developers thought that their
computers would not be subject to the problems of large-scale commercial computers.
Consequently, early PC's didn't include virtual memory. Ironically enough, they discovered the
same problems that their predecessors discovered during the 50's and 60's. In 1985 Intel offered
virtual memory and cache in the 386 microprocessor and Microsoft offered multiprogramming in
Windows 3.1. Others finally followed and virtual memory found its place in our everyday lives.

				
DOCUMENT INFO