Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!security!genrad!decvax!harpo!floyd!clyde!ihnp4!inuxc!pur-ee!uiucdcs!uiuccsb!stepp From: stepp@uiuccsb.UUCP Newsgroups: net.unix-wizards Subject: Re: Virtual Memory and Control Theory - (nf) Message-ID: <4409@uiucdcs.UUCP> Date: Fri, 9-Dec-83 22:30:09 EST Article-I.D.: uiucdcs.4409 Posted: Fri Dec 9 22:30:09 1983 Date-Received: Tue, 13-Dec-83 01:38:37 EST Lines: 38 #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.