Virtual Memory and Control Theory - (nf)

stepp at uiuccsb.UUCP stepp at uiuccsb.UUCP
Sat Dec 10 13:30:09 AEST 1983


#R:fortune:-187100:uiuccsb:14900006:000:2068
uiuccsb!stepp    Dec  9 10:15:00 1983

Don't confuse the concept of virtual memory with the content swapping technique.

Virtual memory means that the logical address space is different than (exceeds)
the real address space.  There are a variety of ways to accomplish this.
Traditional overlays do not use virtual memory:  all logical addresses are
equal to real addresses, though some are effective only when certain
content is present in memory.

For programs whose logical address space is smaller than the available real
address space, memory-sharing may be accomplished via overlays (swapping) or
demand paging.  For programs whose logical address space exceeds the available
real address space either the user must reorganize the program to shrink the
logical address space via managed overlays or the program must run in a
virtual memory system.

For the case of programs whose size does not exceed the available real memory
size, many systems exist which use overlays (managed swapping) for the sake
of lower overhead.

Demand paging is the least intelligent content swapping method for virtual
memory management.  It is widely used precisely because it need not know much
about the program's use of the logical address space (its idea of the needed
pages (working set) of the program is obtained by analysis of the history
of the program, not from knowledge of the program's algorithm).  Other smarter
virtual memory paging strategies are certainly possible, but they require
additional information (such as the future program flow characteristics) in
order to out-perform simple demand paging.

So, for programs which are small (or for which the author does not mind
carrying the burden to plan their overlays) it is not surprising that non-
virtual memory systems using swapping perform very well indeed.  There are
many applications however where the logical address space is very large and
it is very difficult to plan overlays to shrink the logical space to the
limits imposed by available memory.  Thus virtual memory systems are necessary,
in spite of the overhead imposed by demand paging.



More information about the Comp.unix.wizards mailing list