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