221 Papers for 4/20

Mark Andrew SMITH (masmith@cs.ucsd.edu)
Thu, 20 Apr 2000 00:11:53 -0700 (PDT)


StarOS was the result of a project at Carnegie Mellon. At the time of the
paper, multiprocessor machines were becoming a reality and leveraging this
new ability was becoming an issue. This paper presents the concept of
"task forces" which are a set of small specialized processes. The idea is
that these small processes will execute on separate processes and finish
more quickly than if they ran sequentially. Unix Pipes are a very simple
task force, but lack a static structure, straightforward synchronization,
and error detection is local.
StarOS is build as a set of objects. All information is stored in an
object: data and capability lists. In order to access data from other
objects, it must be memory mapped into your reference space. This
encourages the use of small objects. Hardware checks capabilities. The
synchronization primitive for this system is a message passing system in
which the basic metaphor of a mailbox is used. Blocking is explicity,
processes can send and recieve to mailboxes, as can registered events.
Much of what we read in this paper is an attempt to leverage the multi
processor machine, and to help users experiment with the idea of task
forces to leverage this new capability.


Medusa is an OS written for the exact same machine that StarOS was written
for. This paper is a year later, so learns from what StarOS had to offer,
and changes things a little bit. As this paper explains, StarOS was
developed in order to make high level programming and experimentation with
task forces easy for users. Medusa, on the other hand, empyasizes
problems of structure, rather than facilities like StarOS did. Medusa
strives to exploit the hardware to produce a system that is modular,
robust, and has good performance. The actual Medusa OS is distributed on
all the processors such that a program will only run on a given node if it
can do so locally, otherwise, it has to organize it's execution on another
node which can perform the operations locally. This is in an attempt to
increase performance. Like StarOS, both task forces and message passing
are used. Differences in the two systems stem from the fact that StarOS
attempted to provide flexible facilities first, while Medusa strived to be
distributed first. When Medusa is completely finished, this paper may have
some more interesting numbers to report.

-Mark Smith