Yu Xu's evalutions

Albert Xu (xualbert@yahoo.com)
Tue, 18 Apr 2000 02:36:49 -0700 (PDT)

Do You Yahoo!?
Send online invitations with Yahoo! Invites.
application/msword [Press RETURN to save to a file]
Evaluation of Pilot

As digital hardware became less expensive, personal computer became popular.
Pilot operating system described in this paper provides a single-user, single-language
environment for higher level software on a personal computer. Its features include virtual
memory, a flat file system, streams, network communication facilities, and concurrent
programming support. Since Pilot is for personal computer, it has only limited features
for protection and resource allocation.
One important thing is that Pilot is implemented entirely in Mesa, a high-level
system programming language. Mesa formalizes and emphasizes the distinction between
interface and its implementation.
The paper introduces several kinds of interfaces about file, virtual memory,
streams and I/O Devices, Communications. And then describes the implementation of
The interfaces File and Volume are similar to same concepts in MSDOS. One
thing need to note is that files and volumes are named by 64-bit universal
identifiers(uids) which are guaranteed unique both in time and space. Files have four
basic attributes: size, type, permanence, and immutability.
Space is an important concept in Pilot. It has three fundamental roles: Allocation
Entity, Mapping Entity, Swapping Entity. Virtual Memory is the only access path to the
contents of files, and files are the only backing store for virtual memory.
There are two kinds of stream components defined in Pilot: the transducer and the
filter. The transducer occupies the lowest position in pipeline.
Mesa supports a shared-memory style of interprocess communication for tightly
coupled processes, while interaction between loosly coupled processes is provided by the
Pilot communications facility. The socket interface’s usage is very similar to the usage
of socket in Unix.
The “world-swap” an important Mesa-support facility. It allows a graceful exit to
CoPilot, the Pilot/Mesa interactive debugger. Mesa’s implementation uses the
manager/kernel pattern.
The implementation experience of Pilot is that the use of small modules and
minimal inermodule connectivity and strongly typed interface facilities of Mesa help to
avoid many common kinds of errors.

Evaluation of Opal

Opal is a single address space operating system designed for wide-address
architecture space(64-bit). The paper focuses on memory sharing and protection
in Opal.
Opal provides a single global virtual address space that is shared by all
procedures and all data. One important feature of Opal is the full separation of
addressing and protection.
The paper describes three major advantages of private address spaces and
then states that all of these major advantages can be obtained in Opal too. The
disadvantage of the private address spaces is that it presents obstacles to efficient
cooperation between protected application components. Opal solves this problem
quite well.
As for storage and protection, there are many concepts in Opal which are
familiar to us. Segments are the units of storage and protection. Threads are units
of execution. A protection domain is an execution context for threads. All Opal
kernel resources, like protection domains and segments, are named by
capabilities. Opal uses password capabilities. Attach and detach are used to give
or deny access.
Interdomain communication between trusting threads largely use shared
memory method. Portals ae entry points to domains, they are uniquely identified
by a 64-bit value. An Opal capability is 256-bit value containing a portlID. while
portals are used to implement servers or protected objects.
The module concept is similar to the same concept in higher level
language. A module is a group of compiled procedures together with some other
Opal provides coarse-grained reclamation. Resource groups support
accounting and bulk deletes of unreclaimed resources. Reference objects prevent
untrusting entities from releasing each other ‘s resource references.
Finally the paper describes the relation of Opal to previous work. In
general, Opal is similar to Multics and other segmented systems in its use of
segments as units of memory protection and access control and its emphasis on
dynamic sharing and memory-mapped persistent storage. The difference between
Opal and Mulitcs is also described. The paper also compares Opal to many other
previous Operating System: Cedar , Pilot, Emerald, Hydar, Eden, Mondads,
Psyche, Hemlock, Swizzling.