paper discussions(this is Jamison Collins)

Jamison Collins (
Tue, 25 Apr 2000 04:41:36 -0700 (PDT)

This is Jamison Collins... I'm too lazy to log into
beowulf so I'll be sending my emails from this email
address as opposed to

On the Duality of Operating System Structures

The goal of this paper is to eliminate disinformation
and bitter arguing
from the OS and the OS design communities. By
demonstrating that some
I died 4l example of a Message Based and a Shared
Memory Based OS are
identicaI died 1ecision as to which approach to follow
is transformed into
the question of,I died 4system is easier to implement
on the target hardware?"
This is an important issI died 1se one gets the
impression (and it is
certainly conceivable) that therI died 4en much bitter
debate over which
approach is superior--by eliminating thiI died 1time
can be spent on solving
useful problems. This work differs from prior wI died
4hat prior work (most
likely) had argued that one approach or the other was
suI died 1

The steps taken to the solve this problem are--first
the primary structures
involved in an implementation of either of these OS
types are identified, and
a simple resoure allocator is constructed in both
systems. Next, a mapping
between these primary structures is discussed and the
resource allocator is
use as an example to demonstrate the soundness of this
mapping. Finally,
an example OS which lent itself easily to conversion
was converted from one
form to the other according to the conversion
procedure that had been described.
This paper is to be judged on the logical soundness of
the arguments and by
whether the successful conversion of only one OS is
sufficient empirical
evidence to support the claim of the duality of
operation system structures.

This paper provides an important approach to the
question posed--obviously
a message based system and a shared memory system can
emulate each other, but
the emphasis of the paper is on achieving this mapping
with no or only a small
loss of performance as a result. Thus, I found this
work highly important
and interesting as it seems successful at answering an
important OS design

The Structing of a System Using Upcalls
Because most OS(of the time? not familiary with
modern OS :P) are organized
in a layered manner, where higher layers can call
functions in lower layers, but
not the other way around, for communication to flow
from high layers to low
layers, some form of interprocess communication is
generally necessary. While
this may work for simple OS, when more complex OS and
OS structures are
implemented, this organization results in severe
performance losses. Upcalls
suggest a different organization in which functions at
both a higher and a lower
level can be directly called in order to improve
performance and ease of
implementation. This is important because, for
example network protocols,
suffer servere performance losses when interprocess
is used as opposed to direct function calls.

In order to enable the use of direct function calls,
which will increase the
danger of OS corruption because of errant code at a
high level, this paper
also presents a design methodology targeted at
reducing this risk. Finally,
in order to fully test the proposed system structure
modification and
accompanying programming methodology, an OS is
implemented which makes use
of the Upcall structure. A tertiary goal of the paper
appears to be to
determine if the upcall structure, by removing the
burden of complex information
buffering from the programmer, enables a functional OS
to be built by
programmers of less quality than would be necessary in
the traditional approach
--this was found not to be the case.

This paper does prompt an important question. In the
THE system, Dijkstra was
able to prove that exhastively testing an OS was
possible when the system was
implemented strictly layered. In a system using
upcalls, this strict layering
is violated, but in a fairly controlled manner,
especially if upcalls are
limited to 'arming messages.' If strong measures are
followed to prevent
indirect recursion etc., in what way if the exhastive
testing of an OS changed
by this modification?

This may be hard for you to understand
But there is no conspiracy
Nobody is in Charge
It's a headless blunder operating under the illusion
of a master plan
Can you grasp that? Big Brother is not watching you

Do You Yahoo!?
Send online invitations with Yahoo! Invites.