(no subject)

Brian TAM (btam@cs.ucsd.edu)
Tue, 6 Jun 2000 07:48:12 -0700 (PDT)

Brian Tam
Spring 2000
Paper evaluations

"Extensibility, Safety and Performance
in the SPIN Operating System"

The performance of applications is often degraded
by a poorly matched OS implementation or interface.
SPIN provides a set of extensions that allow
applications to specialize the underlying operating
system to achieve a certain level of performance and
functionality. SPIN relies on language and runtime
techniques, such as co-location and protection
domains, to do this safely. Several performance
measures were taken to assess SPIN, including
microbenchmarks and networking operations. These
were compared with results using OSF/1, a monolithic
system, and Mach, a microkernel, both of which fared
poorly compared with SPIN.

In the comparison studies, the authors could have
experimented with more operating systems from both
the monolithic and microkernel classes. In addition,
the authors could have done a better job writing this
paper. Concepts are mixed with technical details in
a rather haphazard fashion.

"Exokernel: An Operating System Architecture
for Application-Level Resource Management"

This paper addresses the same problem that the
SPIN paper does: traditional OS's provide a generic
interface and implementation of OS abstractions to
applications, thereby limiting their performance.
The exokernel approach aims to provide a low-level
interface for application-level management of
physical resources, thereby separating protection
from management. The authors implemented a
prototype system consisting of a kernel, Aegis,
and a library operating system, ExOS, which
implements OS abstractions on the primitives exported
by Aegis. Comparison studies with benchmarks were
done against Ultrix, or operating systems with the
fastest performance on certain operations, and almost
always Aegis outperformed the others. The authors
conclude that managing fundamental OS abstractions
on the application level can be done efficiently.

One aspect of Aegis I find somewhat puzzling is
the role of application-specific safe handlers (ASH's).
Doubtless they increase the performance of ExOS, but
they must be downloaded into the kernel to work. This
seems to defeat the philosophy behind exokernels, which
is to provide a modifiable interface ABOVE the kernel
for applications, not interfere with the kernel itself.