CSE 221 Paper Evaluation

Greg Johnson (johnson@SDSC.EDU)
Wed, 24 May 2000 18:56:39 -0700 (PDT)

THE MULTICS VIRTUAL MEMORY CONCEPTS AND DESIGN
A. Bensoussan, C. Clingen, and R. Daley, 1972.

This paper describes the design of virtual memory in Multics assuming an
"ideal" single large segmented memory, and the practical issues associated
with emulating this design on a machine with limited memory but paging and
segment handling hardware. The authors begin by presenting a case for the
use of both paging (physical division of data in memory) and segmentation
(logical division of data in memory) in a VM system. Segmentation enables
sharing of data in memory across processes by providing a mechanism for
controlled access (access attributes may be associated with segments for
example). Paging provides a means of using physical storage to its fullest
potential. Demand paging allows the most used pieces of several segments
to be resident in memory simultaneously, while leveraging data locality
(data is loaded in pages instead of an element at a time).

The design of Multics relies on segmentation and demand paging throughout.
Access to data anywhere in the system is via segment descriptor and subject
to access control. Even the Multics supervisor (the entity responsible for
handling processes and access to virtual memory) is segmented and utilizes
the same segmentation and protection primitives as user programs.

The remainder of the paper presents, in extreme detail the simulation of
Multics virtual memory on the Honeywell 645 machine. Segmentation requires
hardware support for fast access control and decoding of physical addresses.
Thus the authors devote lengthly discussion to the paging and segmentation
algorithms, attributes, and operations on the 645.

=============================================================================
Greg Johnson office: (858) 534-8367
Senior Programmer Analyst fax: (858) 534-5152
San Diego Supercomputer Center email: johnson@sdsc.edu
University of California San Diego