25th of April Evaluations.

Tue, 25 Apr 2000 05:27:48 EDT

On duality of operating system structures:

The paper describes the different methodologies operating system designers follow and classifies them according to some properties into two different classes. No real system precisely agrees with either model in all aspects, some even might have two different subsystems that follow the two different methodologies. The paper gives a clear explanation of what they view as a message-oriented system and as a procedure-oriented system along with each system properties. The authors obtained the properties of the classes and produced an idealized guideline that designers should follow to construct the facilities of the class they choose to build their system upon.
The transformation between the two different models is done by only modifying the text representing the interaction between processes. This change reflects the syntactic content of the system, not the semantic content. Performance is preserved between the two different models, if the hardware supports the facilities of different models. A support for their claim was given by the Cambridge CAP computer.
The design decisions of the system, upon the facilities are built, are the factors in choosing one model style over the other. Organizations designing a new system usually favors one of the two approaches and occasionally reach a point in their design which faces some organizational difficulties that leads to a compromise in the performance in order to overcome it. The compromise could have been avoided if the designers had an equivalence of the two different models that they can follow.
The authors gave a good description of the two different models following almost the exact way of describing each model which made the paper easy to understand and even easier to compare " between the different models". Although the result seems very interesting indeed, the performance is still the most important measure. Everything sounds complete and correct in their discussion. However, I became uncertain of the whole idea of achieving the same performance once I read in the paper ( as I quote here ): "The observations about the similarity of program logic, code, and performance are particularly hard to accept . . . man- made ones. Time will tell whether they are correct." I'm sure that further performance comparison has to be derived between those different classes before concluding that the performance is preserved between them.


The paper describes the problems associated with having an asynchronous inter-process messages as a communication need between layers in a system which have been modularized according to the principle of layering. The author purposes a solution for those problems by using a different implementation methodology, which permits synchronous procedure calls between the different layers.
Upcalls provides the programmer with the choice of implementing upward flow of control between layers using procedure calls or asynchronous signals. A multi-task module is a layer made of subroutines in different tasks that are callable from the above or below layer. The author developed the swift system that uses the multi-task module and upcalls concepts to show his hypothesis. By using those concepts, the system is efficient and simple to implement.
Since the methodology proposed was motivated by network protocols, the author gave a good example using a three-layer network protocol package to elaborate on his design. The author emphasizes on the need of good competence in design programmers to achieve the advantages of the system and avoid the problems that might result from a wrong choice of implementation.
I tried to force myself to read this paper. It was really hard and unclear to understand why did he throw problems of the design in all the sections and made it hard to see if his design is really a good solution to the original problem. My only condolence is that I'm done reading this paper!!