From: Manish Mittal (manishm_at_microsoft.com)
Date: Wed Jan 14 2004 - 17:35:24 PST
This paper discusses the design and implementation of Opal, a "single
address space" operating system. In Opal system there is one global
virtual address space, unlike the conventional operating systems where
each process operates in its own virtual address space. This system
makes use of a single address space to allow for a more efficient
cooperation between protected application components. It separates
protection from addressing, thereby achieving a more flexible protection
and a simple shared memory. The system also allows mapped persistent
storage.
Opal, implemented on top of the Mach microkernel, uses a single address
space allowing threads to share data easily, at the same time it ensures
protection by the use of capabilities associated with each segment. A
protection domain is an execution context for threads, restricting their
access to a specific set of segments at a particular instant in time.
Having the right capabilities, threads can attach/detach segments to
their protection domain. Two domains can communicate through portals,
which may be local or remote. By being in the same domain, applications
can share components in a simple way, even if the component is remote.
One important advantage of this approach is the reduction of
communication overhead for components, which need to share information.
Another benefit is that a pointer reference is valid in all processes
and inter-process communication is as simple as passing pointers. The
idea that no marshalling or data format conversion is needed to copy
data from one process space to another is also very appealing.
An interesting section of the paper discusses the tradeoffs between
single and multiple address spaces. A disadvantage of the single address
space approach is that segments cannot grow. Also, segments created at
different times will not be contiguous in the address space. On the
other hand, Opal avoids the complexity and inefficiency of the Unix Fork
function, providing the same functionalities. Another disadvantage of a
single-address space is the impossibility of providing copy-on-write,
because there is only one naming context. Another tradeoff made in
single address space systems is that they cannot assign different
meanings to the same address.
Overall the paper presents some interesting drawbacks of current systems
and offers some novel solutions that take advantage of new hardware
advances. This paper is very well organized and provides useful
information about the OPAL system.
This archive was generated by hypermail 2.1.6 : Wed Jan 14 2004 - 17:36:07 PST