[net.arch] PDPs & Virtual Mem

greg@isrnix.UUCP (Gregory Travis) (09/24/86)

The notion that the PDP-11 doesn't have virtual memory is completely false.
I have written UN*X variations for the 11 which did NOT require that
a program be completly loaded to run.  As long as the processor
has the ability to restart an arbitrary instruction (11/40's did not)
the 11 can do "virtual memory."  And I mean to say that a 16K 11 can
pretend it's a 64K 11 NO PROBLEM!   Just because the 11's physical
memory can exceed its directly addressable memory doesn't mean squat.
Sure, pages might be 8K, but the main point is that it can appear that
the 11 has more physical memory than it really has.

-- 
    Gregory R. Travis
    Institute for Social Research - Indiana University - Bloomington, In
    ihnp4!inuxc!isrnix!greg
    {pur-ee,allegra,qusavx}!isrnix!greg

jason@hpcnoe.UUCP (Jason Zions) (09/28/86)

I've seen some interesting definitions of virtual memory that all falter on
the example of the PDP-11. All these definitions have buried in them someplace
the idea that "virtual" space is bigger than "physical" space.

Friends, the concept of virtual memory is simply that there ARE two separate
spaces, "virtual" and "physical", and that the two need not be correlated!

Various models of the PDP-11 have physical spaces of 64Kb, 256Kb, and 4Mb.
Various models of the PDP-11 have either one (D-only) or two (separate I/D)
	virtual spaces.

A system has only one physical space. In general, each process may have many
virtual spaces. The "Virtual Memory" system is responsible for managing the
sharing of the limited physical space amongst all the competing demands for it.

"Paging" systems allow the VM manager to allocate parts of physical space
smaller than the demands of the virtual space, with a granularity of a page,
whatever that may be. The VM manager needs no help from the process to manage
this allocation.

"Segmenting" systems must allocate physical space of the same size as a virtual
space, but provide facilities to allow a single process to have multiple
virtual spaces which need not be physically co-resident at all times. The VM
manager may or may not need help in handling this segmentation.

"Base Register" type systems must allocate physical space of the same size
as a virtual space, and provide few, if any, facilities for multiple virtual
spaces per process.

The PDP-11 is a bit backwards, since the more-limited resource is the virtual
space/spaces. The 11 segments this space, under process/programmer control,
by allowing various segments of physical space to co-reside in one virtual
space.

Newer models in the HP-1000 family perform this same trick, but the
compilers are capable of handling the control of segmentation, and the size
of segments has a finer granularity. The programmer, of course, can take on
this task himself, if he wants it.

Both the PDP-11 and HP1000 families provide for process control of segmentation
on the data virtual space. Although the unit of space is called a "page", the
architecture is still essentially a segmentation one.

Summary:

	"Virtual Memory" == Divorcing "Physical" from "Virtual" spaces
--
This is not an official statement of Hewlett-Packard Corp., and does not 
necessarily reflect the views of HP. It is provided completely without warranty
of any kind. Lawyers take 3d10 damage and roll a saving throw vs. ego attack.

Jason Zions				Hewlett-Packard
Colorado Networks Division		3404 E. Harmony Road
Mail Stop 102				Ft. Collins, CO  80525
	{ihnp4,seismo,hplabs,gatech}!hpfcdc!hpcnoe!jason