This course is run at the The University of Nottingham within the School of Computer Science & IT. The course is run by Graham Kendall (EMAIL : gxk@cs.nott.ac.uk)
The swapping methods we have looked at above are needed so that we can allocate
memory to processes when they need it. But what happens when we do not have
enough memory?
In the past, a system called overlays was used. This was a system
that was the responsibility of the programmer. The program would be split into
logical sections (called overlays) and only one overlay would be loaded into
memory at a time. This meant that more programs could be running than would
be the case if the complete program had to be in memory.
The downside of this approach is that the programmer had to take responsibility
for splitting the program into logical sections. This was time consuming, boring
and open to error.
It is no surprise that somebody eventually devised a method that allowed the
computer to take over the responsibility. It is (Fotheringham, 1961) who is
credited with coming up with the method that is now known as virtual memory.
The idea behind virtual memory is that the computer is able to run programs
even if the amount of physical memory is not sufficient to allow the program
and all its data to reside in memory at the same time.
At the most basic level we can run a 500K program on a 256K machine. But we can also use virtual memory in a multiprogramming environment. We can run twelve programs in a machine that could, without virtual memory, only run four.
Last Page | Back to Main Index | Next Page |
Last Updated : 23/01/2002