Sign up & Download
Sign in

On the duality of operating system structures

by Hugh C Lauer, Roger M Needham
ACM SIGOPS Operating Systems Review (1979)

Abstract

Many operating system designs can be placed into one of two very rough categories, depending upon how they implement and use the notions of process and synchronization. One category, the "Message-oriented System," is characterized by a relatively small, static number of processes with an explicit message system for communicating among them. The other category, the "Procedure-oriented System," is characterized by a large, rapidly changing number of small processes and a process synchronization mechanism based on shared data.In this paper, it is demonstrated that these two categories are duals of each other and that a system which is constructed according to one model has a direct counterpart in the other. The principal conclusion is that neither model is inherently preferable, and the main consideration for choosing between them is the nature of the machine architecture upon which the system is being built, not the application which the system will ultimately support.

Cite this document (BETA)

Available from portal.acm.org
Page 1
hidden

On the duality of operating system structures

Because the original of the following paper by Lauer and Needham is not
widely available, we are reprinting it here. If the paper is referenced
in published work, the citation should read: "Lauer, H.C., Needham, R.M.,
"On the Duality of Operating Systems Structures," in Proc. Second Inter-
national Symposium on Operating Systems, IRIA, Oct. 1978, reprinted in
Operating Systems Review, 13,2 April 1979, pp. 3-19.
On the Duality of Operating System Structures
Hugh C. Lauer
Xerox Corporation
Palo Alto, California
Roger M. Needham*
Cambridge University
Cambridge, England
Abstract
Many operating system designs can be placed into one of two very rough
categories, depending upon how they implement and use the notions of
process and synchronization. One category, the "Message-oriented System,"
is characterized by a relatively small, static number of processes with an
explicit message system for communicating among them. The other category,
the "Procedure-oriented System," is characterized by a large, rapidly
changing number of small processes and a process synchronization
mechanism based on shared data.
In this paper, it is demonstrated that these two categories are duals of each
other and that a system which is constructed according to one model has a
direct counterpart in the other. The principal conclusion is that neither model
is inherently preferable, and the main consideration for choosing between
them is the nature of the machine architecture upon which the system is
being built, not the application which the system will ultimately support.
This is an empirical paper, in the sense of empirical studies in the natural sciences. We have
observed a number of samples from a class of objects and identified a classification of some of
their properties. We have then generalized our classification and constructed abstract models to
describe these properties. With the aid of these models, we were able to make some observations
about the nature of the objects themselves, observations which are supported by other experimental
evidence. Finally, we have drawn some conclusions about the class of objects which better aid our
understanding of that class and the decisions which affect the design of members of that class.
The universe in this investigation is the class of operating systems, and the properties in which we
are interested are the ways in which the concepts of process, synchronization, and interprocess
communication occur within these systems and among their clients. There appear to be two
general categories in this respect, which we designate the Message-oriented Systems and the
Procedure-oriented Systems. Most systems which we have observed tend to be biased fairy
strongly in favour of one or the other, rather than being neutral or indeterminate. Moreover,
* This work was done while the author was on sabbatical leave at the Xerox Pale Alto Research Center during
the summer of 1977. 3
Page 2
hidden
H. C. LAUER AND R. M. NEEDttAM
within each of the categories, the systems tend to be more like each other than like systems of the
other category. Finally, in several design efforts in which either of us have participated or
observed first-hand, attempts to combine fundamental characteristics from the two categories have
met with failure or have been abandonned.
To characterise our classifications, we have constructed a canonical model for each category. The
message-oriented model is characterised by a small, relatively static number of big processes, an
explicit set of message channels between them, a relatively limited amount of direct sharing of data
in memory, and an identification of address space or context with processes. The procedure-
oriented model is characterized by a large number of very small processes, rapid creation and
deletion of processes, communication by means of direct sharing and interlocking of data in
memory, and identification of the context of execution with the function being executed rather
than with the process. These two models define two differents kinds of primitive operations for
managing processes and synchronization i an operating system. From them, we will derive three
observations:
1. The two models are duals of each other. That is, a program or subsystem constructed
strictly according to the primitives defined by one model can be mapped directly
into a dual program or subsystem which fits the other model.
2. The dual programs or subsystems are logically identical to each other. They can also be
made textually very similar, differing only in non-essential details.
3. The performance of a program or subsystem from one model, as reflected by its queue
lengths, waiting times, service rates, etc. is identical to that of its dual system,
given identical scheduling strategies. Furthermore, the primitive operations
provided by the operating system of one model can be made as efficient as their
duals of the other model.
The principal conclusion we will draw from these observations i that the considerations for
choosing which model to adopt in a given system are not found in the applications which that
system is meant o support. Instead, they lie in the substrate upon which the system is built and
are a function of which set of primitive operations and mechanisms are easier to build or better
suited to the constraints imposed by the machine architecture and hardware.
In the remainder of the paper, we develop the canonical models in greater detail. We then present
the three observations, our reasons for believing them, and some empirical support for them.
Finally, we discuss the consequences and conclusions which we derived from this point of view.
Two Models
It is not helpful in this paper to develop an elaborate formalism defining the two canonical models
for our categories of operating systems. Instead, we will describe these in informal English,
outlining the characteristics of each in familiar terms. Similarly, our observations will be based on
4

Sign up today - FREE

Mendeley saves you time finding and organizing research. Learn more

  • All your research in one place
  • Add and import papers easily
  • Access it anywhere, anytime

Start using Mendeley in seconds!

Already have an account? Sign in

Readership Statistics

44 Readers on Mendeley
by Discipline
 
 
 
by Academic Status
 
43% Ph.D. Student
 
16% Student (Master)
 
14% Other Professional
by Country
 
39% United States
 
14% United Kingdom
 
7% Switzerland