Path: utzoo!yunexus!geac!syntron!jtsv16!uunet!husc6!mailrus!uflorida!gatech!hubcap!mark From: mark@hubcap.UUCP (Mark Smotherman) Newsgroups: comp.os.misc Subject: Re: a very naive Question??? Summary: definitions Message-ID: <3211@hubcap.UUCP> Date: 11 Oct 88 19:43:00 GMT Article-I.D.: hubcap.3211 References: <835@amethyst.ma.arizona.edu> Organization: Clemson University, Clemson, SC Lines: 80 In article <835@amethyst.ma.arizona.edu>, chris@spock (Chris Ott) writes: > > heiby@mcdchg.UUCP (Ron Heiby) writes: > > The actual definition of Virtual Memory involves the concept of allowing > > programs to believe that they are running at a particular address, when > > in fact they may actually be at a completely different *physical* address. > > Wrong. The actual concept of virtual memory is the ability to allow > programs to use more memory than the machine physically has by swapping ^^^^^^^^^^^^^^^ > the least recently used pages to secondary storage. It's a shame that we can't agree on terminology. I believe that we have been too heavily influenced by marketing types. The older academic textbooks agree with Ron. E.g., A.M. Lister (1st ed. 1975, - 3rd ed. 1984) states "... the programmer 'sees', and programs for, a _virtual memory_ whose characteristics differ from those of the real memory." Lister then goes on to a section on "Implementation of Virtual Memory" that _begins with_ base and limit registers (i.e. GE-635, Honeywell 6000, Univac 1100, CDC 6600, etc.). Obviously these machine did not support demand paging. However, Chris may just be out of school and may have just taken an OS course using a textbook such as Silberschatz and Peterson (alt. ed. 1988). These authors state "Virtual memory is a technique that allows the execution of processes that may not be completely in memory. The main visible advantage of this scheme is that user programs can be larger than physical memory." I have fun in class with those of the second persuasion when I bring up the DECsystem 10 model KI10, which has a 24-bit _physical address_ and an 18-bit _virtual address_! DEC used a paging scheme and a large physical memory to balance these systems and extend the life of the 10 series - thus, as the CPU got faster it needed more memory and more ready processes, yet for compatibility purposes the older 18-bit software still had to run. According to your definition, Chris, is this _paging_ system a virtual memory system??? > > > The definition the author of the article (and the UW editor) are mistakenly > > using involves the concept of *demand paging*. > > ... It's just that the sharing of memory by more programs than would > > physically fit all at once was done by a process called "swapping". > > Close, but not quite. Demand paging involves only the code portion of ^^^^^^^^^^^^^^^^^^^^^ > the program. Page only the code portion? News to me! > > > Anyway, even the "swapping" style of memory sharing > > uses Virtual Memory. > > Wrong. The definition swapping depends on what type of memory you > have (virtual or non-virtual). > Swapping in a virtual memory system refers to the swapping of those > "chunks" or pages to and from secondary storage. Most people actually call > this "paging", since only pages of the process are swapped, rather than the > whole process. The base and limit scheme mentioned above uses swapping. > > > Ron Heiby, heiby@mcdchg.UUCP Moderator: comp.newprod & comp.unix > > > Chris Ott > Computational Fluid Mechanics Lab Just say "Whoa!!" and > University of Arizona vote for Randee!! -- Mark Smotherman, Comp. Sci. Dept., Clemson University, Clemson, SC 29634 INTERNET: mark@hubcap.clemson.edu UUCP: gatech!hubcap!mark