CSE 221 Paper Evaluation

Greg Johnson (johnson@SDSC.EDU)
Mon, 17 Apr 2000 18:40:29 -0700 (PDT)

J. Chase, H. Levy, M. Feeley, et al., 1993

This papers explores the use of a single, large address space in the
context of an operating system called Opal. The authors state that
the arrival of 64-bit processors for the first time makes available
sufficient addresses to make this idea feasible. Mapping physical
memory and disk space into a global virtual address space, Opal
assigns system-wide (could be a host or even collection of hosts)
unique addresses from this pool.

One of the advantages of private address spaces is that they enable
straightforward memory protection. A process cannot interfere with
the memory of another, as it is unable to address memory outside of
its protection domain. A key point in Opal (one that enables memory
protection in a single address space) is the separation of protection
from addressing.

Further, Opal separates processes, resource naming and ownership from
protection domains. Opal allocates and protects memory in segments,
and executes threads. The mapping of threads and segments to protection
domains is more flexible than the process / address space mapping used
in UNIX. For example, communication between two threads in different
domains can take place by simply sharing values stored in a segment of
memory overlapped by the two domains.

To a limited degree some of the concepts described in this paper are
used today in shared memory multiprocessor machines. On these boxes,
units of execution are threads, and memory is shared between threads.
However, a user program (which may consist of multiple threads) is
still run within its own protection domain. Further, memory protection
between threads is relatively limited (a thread can designate an instance
of a variable to be shared or private only).

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