duality

John-Paul Fryckman (fryckman@SDSC.EDU)
Tue, 25 Apr 2000 07:59:41 -0700 (PDT)

Duality

This paper set out to describe how two seemingly different styles
of OS programming are actually the same in many ways. It is importance
for designers to know this information as to pick the best OS structure
for the underlying architecture.

The main methodology in this paper is to set out key points in
both the procedure and message oriented systems. Then from this
the construct an example in both systems and explain how basically
a one-to-one contextual switch can change one system into the other.
Furthermore, the authors explain how locks are duals to messages
and how other internal mechanisms are related. As they conclude,
the only reason one would prefer one over the other is because of the
underlying architecture.

This paper was extremely well written. It set out a firm methodology
and accomplished its goals. The authors simplifies the paper by not
introducing a lot of new verbose terms. When designing a new system
it will be helpful to remember this paper.

Upcalls

The paper talks about how the of control happens in layered systems
and how to implement them efficiently. It is very important in layers
that are used very often, that they by efficient in their execution
because a simple latency in a component that is executed a billion
times effective becomes a huge source of inefficiency.

The paper's goal is in introducing a move from processes and
interprocess communication to synchronous procedure calls.
They suggest that this can be done via subroutine calls.
Since this seems to lead to an upward flow, they called "upcalls."
Furthermore, a layer becomes nothing more than a bunch of
subroutine calls. Different task subroutines that make up a layer are
called multi-task module. Shared memory is used to enhance
data passing as well as a single addressable memory range.

Overall, this paper was to the point with careful definitions.
They implemented their ideas however they did not release a
production version. If there is no production version, then
it becomes just a novel idea.