G53OPS - Operating Systems

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)


Virtual Memory

Introduction

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