Evaluation: Opal paper & Pilot paper

Yod (h13nguye@ieng9.ucsd.edu)
Tue, 18 Apr 2000 01:08:51 -0700 (PDT)

paper7.txt -- Pilot paper
paper8.txt -- Opal paper

Henry H. Nguyen
h13nguye@ucsd.edu
BS Computer Engineer
ME Computer Engineer
(858) 587 - 7046
Title: Sharing and Protection in a Single Address Space Operating System

This paper exlores the advantages and disadvantages of a single address space
operating system to justify the Opal operating system model and its goals for
sharing and protection. Opal, described in the paper, as a single
address space operating system intended to support complex applications on
wide-address architectures. Using wide-address architecture, the goals of
the system is to provide sufficient addressing without multiple address spaces,
there need be no loss of protection in the single address space, and cleanup is
no harder in a single address space for conventional programs that do not share
data. Working toward these goals, one of Opal design concepts is the full
separation of addressing and protection. This allows Opal to substantially
increases flexibility, such as programs can directly share procedures and
complex pointer-based data structures, without having to worry about address
space usage. Opal virtual addresses are context-independent, its thread can
name all data in the system, but the protection domain in which that thread
executes defines its accesss rights. In addition to separating protection
from addressing, Opal also separates program execution, resource ownership,
and resource naming from protection domains. The purpose of this decoupling is
to make memory protection cheaper, easier to use, and easier to change. At
the end of the paper, the author sum up the significants of the Opal system
in comparison with the other operating systems.

Title: Pilot: An Operating System for a Personal Computer

Pilot is, as the title of this paper indicated, an operating system that is
designed for a single-user, single-language computing environment for higher
level software on a powerful personal computer. What that all means is that
Pilot does not provide the full set of functions and capabilities that an
operating system like Unix does. It omits certain functions that have been
integrated into some other operating systems (like Unix for instance), such as
character-string naming and user-command interpretation; such facilites, as
Pilot would have it, are provided by higher level software. One can think of
Pilot in term of a kernel or a nucleus of an operating system. However, as the
paper disputed, Pilot provides a more complete set of services than is normally associated with the types of operating system mentioned above. Its features
include virtual memory, a large "flat" file system, streams, network
communication facilities, and concurrent programming support, which are all
implemented entirely in Mesa, a high level system programming language. In
more details, the paper describes about its file system which defines File
and Volume as the basic facilites for permanent storage of data. And the files
and volumes are named by 64-bit universal identifiers(uids) which are guaranteed
unique in both space and time by concatenating the machine serial number with
the real time clock to produce each new uid. These files and volumes are
referenced through the mapping of their pages into the virtual memory spaces.
The paper also mentions about the Streams and I/O devices that are supported by
Pilot. In general, Pilot implements streams by cascading stream components,
such as filters and transducer, between the client and the device. Another
facility of Pilot describes in the paper was communication. Pilot provides
communication across multiple interconnected networks through its protocols.
Pilot provides a facility to assign network addresses to its clients, which also
identifies a specific socket on a specific machine. Pilot clients identify one
another by means of network addresses when they wish to communicate.