Medusa, StarOS-evaluations

Pavana Yalamanchili (
Thu, 20 Apr 2000 07:01:07 PDT

MEDUSA: An Experiment in Distributed Operating System Structure

Medusa is a multi-user operating system, at that time under development for
a microprocessor system that had recently completed at Carnegie-Mellon
University. It was an attempt to understand the effect of the distributed
Cm* hardware on operating system structure and to produce a system that
capitalizes on and reflects the underlying architecture. The goal of this
project was to gain an understanding of how to build distributed operating
systems and to exploit the hardware to produce a system organization with
these three attributes: Modularity, Robustness and Performance. The
structure of Medusa was a result of these three general goals with the
architecture of Cm*.
The operating system functions are provided by a collection of five
utilities where each utility is a task force that implements one or a few
abstractions for the rest of the system. These five utilities are:
1. Memory manager
2. File system
3. Task force manager
4. Exception reporter
5. Debugger
Protection in Medusa with the single utility status bit is quite
coarse-grained but the author goes on to justify why this mechanism
suffices. At the time this paper was written, the success of Medusa was yet
to be evaluated.
I think this paper was pretty interesting, especially the disjoint
utilities, task forces, pipes and descriptors part of it. By making the task
force the central unit of control, Medusa made fine-grained interactions
within a task force possible. Finally the paper compares the Medusa
structure with that of other systems.

StarOS: A Multiprocessor Operating System For The Support Of Task Forces

It is a message-based, object-oriented, multiprocessor operating system,
specifically designed to support task forces, large collections of
concurrently executing processes that cooperate to accomplish a single
purpose. The authors’ objective was to determine whether task force software
is conducive to achieve the potential benefits of microprocessors, and to
understand the design issues related to operating system facilities that
support task forces. The objectives of StarOS are to support the
construction and execution of task forces and to exploit, and to allow the
user to exploit, the facilities present in the Cm* architecture, and to
support experimentation and measurement with system behavior.
All information is encoded and stored in objects which are “typed”, the type
of an object determines that set of functions, which alone determine the
behavior of the object. All objects are distinct and unique. This notion of
objects reminds me of objects in Java.
Protection in StarOS (capability based authorization) is fine-grained than
that in Medusa.
Tradeoffs in StarOS were made in favor of providing an extremely flexible
set of facilities to high-level users.

Get Your Private, Free Email at