[net.unix-wizards] Paging != Virtual Memory

jlw@ariel.UUCP (11/21/83)

A week or so ago I posted a mild flame to net.unix_wizards
lamenting the confusion that I saw on the net regarding
the differences between a virtual memory system and a
demand paging implementation of a virtual memory system.
There were several responses on the net, some of then
quite intemperate, implying that I was incorrect, and
that, especially in academic circles, virtual memory
was synonymous with paging.  Therefore, I did some
checking.


I quote from a book actively used at Stanford at least up until
two years ago.
'The term paging is used to describe a particular implementation
of virtual memory and organization of main storage.'
Shaw, Alan C., 'The Logical Design of Operating Systems,'
pg. 117, Prentice-Hall, Inc. Englewood Cliffs, N.J., 1974.

Madnick, Stuart E., Donovan, John J., 'Operating Systems,'
pp. 139-186, McGraw-Hill, Inc. 1974.
This reference, clearly, although not as succinctly as in the
first example defines the three segment system of text, data,
and bss (blank starting segment to answer another question),
still used by BTL UNIX as an alternate form of virtual memory
management.

'The general techniques of automatically moving required program and data
blocks into physical M(ain)M(emory) for execution are called virtual
memory techniques.'
Hamacher, V. Carl, Vranesic, Zvonko G., Zaky, Safwat G., 'Computer
Organization,' p. 252, McGraw-Hill Book Co., 1978.
(all authors from Univ. of Toronto)

I hope that this will answer any questions any of you may have had.



					Joseph L. Wood, III
					AT&T Information Systems
					Laboratories, Holmdel
					(201) 834-3759
					ariel!jlw

mark@umcp-cs.UUCP (11/21/83)

Joseph L. Wood is still defending his use of virtual memory to describe 
what BTL Unix does.  Just a summary of the net opinion: don't believe 
this guy on this issue.-- 
spoken:	mark weiser
UUCP:	{seismo,allegra,brl-bmd}!umcp-cs!mark
CSNet:	mark@umcp-cs
ARPA:	mark.umcp-cs@CSNet-Relay

mark@cbosgd.UUCP (11/22/83)

I normally interpret "virtual memory" to mean that you can have more
"memory" in a user process (transparently to the process) than there
is physical memory on the machine.  Games with overlays do not count
since they are not completely transparent to the process.

This does not imply paging, as there are other implementations (notably
segmentation.)  However, paging is probably the most popular
implementation of virtual memory.

That stuff you get out of BTL UNIX is perhaps best called "memory
management", although there are implementations of System III or
V from outside vendors that page.

jss@mh3bc1.UUCP (11/22/83)

Some computers map logical addresses directly to physical
addresses some do not.  Noticing the latter possibility
was a major advance in the early days of computer science.
While for many purposes the detatils of the mapping are
significant the fundamental distinction is between
no map (or the identity map if you prefer) and a nontrivial
map.

I have always used "virtual memory" to indicate a nontrivial
map.  A question for those who want to reserve "virtual memory"
to describe particular maps.  Do you have a name for the
central concept?

Jerry Schwarz
BTL, Murray Hill

lee@fortune.UUCP (11/24/83)

I do not believe that these books are supporting your idea of virtual
memory.

	'The term paging is used to describe a particular implementation
	of virtual memory and organization of main storage.'

Paging is certainly not the only virtual memory scheme.  Segmentation
is one of the others, but logical address spaces and overlaying schemes
are NOT virtual memory.

	still used by BTL UNIX as an alternate form of virtual memory
	management.

When they ( you know who ) started the UNIX development, real virtual
memory schemes were not possible for the pdp-11.  So they used the
alternate form of virtual ( bad word choice ) memory management.

	'The general techniques of automatically moving required program and data
	blocks into physical M(ain)M(emory) for execution are called virtual
	memory techniques.'

BTL UNIX allocates all required Main Memory before program executions and
ties up the memory blocks until program terminations.  This is hardly
automatic.

IBM did not invent the name of Virtual Memory for nothing ( they didn't
invent virtual memory though ).
DEC would not build the VAX ( Virtual Address eXtension ) if they can
sell the pdp-11 as virtual memory system.

	Ed Lee
	fortune!lee

tjt@kobold.UUCP (T.J.Teixeira) (11/25/83)

A small point:

Ed Lee (fortune!lee) says:

	DEC would not build the VAX ( Virtual Address eXtension ) if they can
	sell the pdp-11 as virtual memory system.

The biggest advantage of the VAX over the PDP-11 is the larger address
space you get with the VAX.  Although you could build virtual memory on
the pdp-11, the 64K byte address space is too small anyway.  Of course,
it is more important to implement virtual memory if you have a really
*big* address space.
-- 
	Tom Teixeira,  Massachusetts Computer Corporation.  Westford MA
	...!{ihnp4,harpo,decvax,ucbcad,tektronix}!masscomp!tjt   (617) 692-6200

root@basservax.SUN (12/03/83)

I must agree that System V doesn't have "virtual memory".
But at least it will let you fill up your REAL memory (with
something other than operating system).

The versions 4.x of berkeley seem to want to keep 20% (or therabouts)
of real memory free, which adds up to system death with overboard
paging. Our set of active procs fit into real memory... Thus NO paging
and 25% speed improvement (at least).

Try this simple test.
	Enter vi, and then read vread(2) for about 30 seconds, and
	then type 'CR'. Now read the rest of vread(2) while waiting
	for your working set to come back...

ks@ecn-ee.UUCP (12/05/83)

#R:fortune:-183200:ecn-ee:13000004:000:787
ecn-ee!ks    Dec  4 17:53:00 1983

In response to basserva!root... claiming that 4.x BSD swaps too much..
I have never noticed any real problems with swapping..  I have seen 60-80
users on a 4.1BSD system comfortably without noticeable swapping.
Although, 110 users logged in did tend to kill it.
It is true that system performance does drop significantly when
swapping is necessary.  I don't think I can ever recall a system around
here swapping unless someone is using more virtual memory than the physical
memory available.  Perhaps your machine is scimpy on memory.. How much do
have?  I think most around here have 4 meg, with some heavily used machines
having 8 or 16 meg..  The problems you mentioned have never happened to me.
In my book, Berkeley is the only REAL UNIX for a VAX..

					Kirk Smith
					Purdue EE