The Opal project is exploring a new operating system structure, tuned
to the needs of complex applications, such as CAD/CAM, where a number
of cooperating programs manipulate a large shared persistent database
of objects. In Opal, all code and data exists with in a single, huge,
shared address space. The single address space enhances sharing and
cooperation, because addresses have a unique (for all time)
interpretation. Thus, pointer-based data structures can be directly
communicated and shared between programs at any time, and can be
stored directly on secondary storage without the need for translation.
This structure is simplified by the availability of a large address
space, such as those provided by the DEC Alpha, MIPS,
HP/PA-RISC, IBM RS6000, and future 64-bit Intel processors.
Protection in Opal is independent of the single address space;
each Opal thread executes within a protection domain
that defines which virtual pages it has the right to access.
The rights to access a page can be easily transmitted from one
process to another. The result is a much more flexible protection
structure, permitting different (and dynamically changing)
protection options depending on the trust relationship
between cooperating parties. We believe that this organization can
improve both the structure and performance of complex, cooperating
An Opal prototype has been built for the DEC Alpha platform on top of
the Mach operating system.
Following is a complete list of papers and reports related to
the Opal operating system project.
Conference and Journal Publications
Lightweight Shared Objects in a 64-bit Operating System.
J. Chase, H. Levy, E. Lazowska, and M. Baker-Harvey. In
Proc. of the Conference on Object-Oriented Programming Systems,
Languages, and Applications (OOPSLA), October 1992.
Architectural Support for Single Address Space Operating Systems.
E. Koldinger, J. Chase, and S. Eggers.
In Proc. of the 5th
Int. Conference on Architectural Support for Programming Languages
and Operating Systems (ASPLOS), October 1992.
Integrating Coherency and Recoverability in Distributed Systems.
Michael J. Feeley, Jeffrey S. Chase, Vivek R. Narasayya,
and Henry M. Levy. In Proc. of the First Symposium on
Operating Systems Design and Implementation, November 1994.
Sharing and Protection in a Single-Address-Space Operating System.
Jeffrey S. Chase, Henry M. Levy, Michael J. Feeley, and Edward
D. Lazowska. ACM Transactions on Computer Systems, 12(4),
Implementing Global Memory Management in a Workstation Cluster.
Michael M. Feeley, William E. Morgan, Frederic H. Pighin, Anna R. Karlin,
Henry M. Levy, and Chandramohan A. Thekkath.
Proc. of the 15th ACM Symposium on Operating Systems Principles
, December 1995. (For more follow-on work, see the GMS home page .)
- Using Shared Memory for Read-Mostly RPC Services.
R. Schmidt, J. Chase, and H. Levy. Proc. of the 29th Hawaii International
Conference on System Sciences, January 1996.
- Opal: A Single
Address Space System for 64-Bit Architectures.
J. Chase, H. Levy, E. Lazowska, and M. Baker-Harvey.
In Proc. IEEE Workshop on Workstation Operating Systems, April 1992.
- Using Virtual Addresses as Object References.
J. Chase, H. Levy, and A. Tiwary.
In Proc. 2nd Int. Workshop on Object Orientation
in Operating Systems, September 1992.
Distribution in Single-Address Space Operating Systems.
J. Chase, H. Levy, and V. Issarny. In Proc. 5th ACM SIGOPS
European Workshop, September 1992. (Also appeared
in Operating Systems Review, ACM SIGOPS, April 1993.)
- Some Issues for Single Address Space Systems.
Jeff Chase, Mike Feeley, and Hank Levy. In Proc. of the
Fourth IEEE Workshop on Workstation Operating Systems, October 1993.
UW Technical Reports
- Supporting Cooperation on Wide-Address Computers.
J. Chase and H. Levy. Technical Report, 91-03-10, Department of Computer
Science and Engineering, University of Washington, March 1991.
- The Protection Lookaside Buffer: Architectural Support for
Single-Address Space Systems. E. Koldinger, J. Chase, H. Levy,
and S. Eggers. Technical Report 91-11-05,
Department of Computer Science and Engineering, University
of Washington, November 1991.
How to Use a 64-Bit Virtual Address Space.
J. Chase, H. Levy, M. Baker-Harvey, and E. Lazowska.
Technical Report 92-03-02, Department of Computer Science and
Engineering, University of Washington, March 1992.
User-level threads and interprocess communication. M.
Feeley, J. Chase, and E. Lazowska,
Technical Report 93-02-03, Department of Computer Science and
Engineering, University of Washington.
Opal is a descendant of a number of object-oriented distributed
systems built at UW during the 1980s. Following are some
references to some of those systems.
- E. Jul, H. Levy, N. Hutchinson, A. Black.
Fine-Grained Mobility in the Emerald
System. ACM Trans. on Computer Systems 6(1), February 1988.
(Emerald is a distributed object-oriented language and system supporting
a single, logical, distributed, object address space. It was the first
system with on-the-fly object mobility. Protection is guaranteed by
the language and compiler.)
- J. Chase, F. Amador, E. Lazowska, H. Levy, R. Littlefield.
The Amber System: Parallel Programming on a Network
of Multiprocessors. Proc. of the 12th ACM Symp. on Operating
Systems Principles, December 1989. (Amber is a distributed object-oriented
system, based on C++, for writing parallel programs that execute on
a local-area network; Amber uses a single shared distributed address
space above which C++ objects are supported.)