evals for Lauer and Clark papers

Yod (h13nguye@ieng9.ucsd.edu)
Tue, 25 Apr 2000 03:47:36 -0700 (PDT)

paper11.txt -- "On the Duality of Operating System Structures," Hugh Lauer
paper12.txt -- "The structuring of Systems using Upcalls," David Clark

Henry H. Nguyen
BS Computer Engineer
ME Computer Engineer
(858) 587 - 7046
Title: The Structuring of system using Upcalls

The methodology described in this paper is relevant to systems
which have been characterized by the principle of layering.
Layering, according to this design, is organized as a collection
of subroutines which live in a number of tasks, each subroutine
callable as appropriate from above or below, and subroutines in
different task that make up a layer constitute multi-task module.
The idea that permits synchronous procedure call between layers
results from the fact that asynchronous communication between
layers through processes leads to serious performance problems.
This paper describes and motivates this methodology, and discusses
the operating system, Swift, which we built to exlore it. Swift
was implemented in a high level typesafe language with garbage
collection. It was implemented in a single address space. It
also introduces the feature upcalls, which is an upward flow of
control by procedure calls or asynchronous signals. The paper
then went on to discuss the advantages and disadvantages of this
methodology. The advantages of this methodology include:
Subroutine calls have better efficiency than that of interprocess
signal because of the overhead of the two implementations. The
ability of upcall in order to ask advice permits a substantial
simplification in the internal algotithms implemented by each
layer. One of the problems with this system is that with the
addition of upcalls, each layers depend on one another alot more.
Without upcalls, lower layers depend only on the upper layers
because flow of control is only downward. But with upcalls, flow
of control is both downard and upward, which means that lower
layers depend not only on the upper layers, but also the layers
below them.
Title: On the Duality of Operating System Structures

This paper started out by classifying operating system designs into
two categories. One category, the "Message-oriented System," is
characteried by a small, relatively static number of big processes,
with an explicit message system for communicating among them. The
second category, the "Procedure-oriented System," is characterized
by a large, rapidly changing bumber of small processes and a
process synchronization mechanism based on shared data. This kind
of system is characterized by a protection and addressing mechanism
oriented toward procedures. Cooperation among processes is achieved
by some form of locks, semaphores, monitors, and others. The systems
that have used this design include HYDRA, the Plessey System, and
others. But then, after clearly defining these models of operating
system, the paper talked about the two styles of system design are
dual of each other. That one system can be mapped into the other
appropriately, and the preformance of the system can be preserved
across the mapping. The paper also made a point that there is
probably no real system precisely agrees with either model in all
respects. Most operating systems typically have some subsystems
which behave like one and other subsystems which behave like the other.