on the duality of operating system structures 1. hugh c. lauer xerox corporation palo alto,...
TRANSCRIPT
1
On the Duality of Operating System Structures
2
Hugh C. Lauer
Xerox CorporationPalo Alto, California
Roger M. Needham
Cambridge UniversityCambridge, England
Proc. Second International Symposium on Operating Systems, IRIA, Oct. 1978
3
Overview Nature of the Paper Two Models
Message-Oriented Systems Procedure-Oriented Systems
Characteristics of the Models Empirical Support Underlying Similarities Underlying Differences Conclusions
Outline
4
“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.”
Overview
5
The paper is empirical in nature The universe in the investigation is the
class of operating systems The properties of interest are processes,
synchronization and inter-process communication
Nature of the Paper
6
Two Models
Message-Oriented Systems
Procedure-Oriented Systems
7
Characterized by a relatively small, static number of processes with an explicit message system for communicating among them
Message-Oriented Systems
8
Specific communication paths Relatively static number of processes
and connections Deletion of processes tends to be very
difficult
Hallmarks
9
Messages A message is a data structure meant for sending
information from one process to another Message Identifiers
A message identifier is a handle by which a particular message can be identified
Message Channels A message channel is an abstract structure which
identifies the destination of the message Message Ports
A message port is a queue capable of holding messages of a certain type or class
Facilities
10
SendMessage [messageChannel, messageBody] returns [messageId]
AwaitReply [messageId] returns [messageBody]
WaitForMessage [set of messagePort] returns [messageBody, messageId, messagePort]
SendReply [messageId, messageBody]
Message Transmission Operations
11
IBM’s OS/360 A discontinued batch processing operating
system developed by the IBM Corporation for their then-new System/360 mainframe computer, announced in 1964
GEC 4080 16-bit minicomputer with its unique
Nucleus feature (Marconi-Eliot Division)
Examples
12
Characterized by a large, rapidly changing number of small processes and a process synchronization mechanism based on shared data
Procedure-Oriented Systems
13
Global data can be both protected and efficiently accessed
Process creation is very easy
Hallmarks
14
Procedures A procedure is a piece of Mesa text containing algorithms, local data,
parameters and results. Procedure call facilities – synchronous and asynchronous
The synchronous procedure call mechanism is just the ordinary Mesa procedure call statement
The asynchronous procedure call mechanism is represented by the FORK and JOIN statements
Modules and Monitors A module is the primitive Mesa unit of compilation A monitor is a special kind of Mesa module which has associated with it a
lock to prevent more than one process from executing inside of it at any one time
Module Instantiation Modules may be instantiated in Mesa by means of the NEW and START
statements Condition Variables
Condition Variables provide more flexible synchronization among events
Facilities
15
HYDRA An early capability-based, object-oriented,
microkernel implemented in the programming language BLISS as part of the C.mmp project at Carnegie-Mellon University
Plessey System 250 Capability-based multiprocessing
operating system kernel
Examples
16
The Duality Mapping Similarity of Programs Preservation of Performance
Characteristics of the Models
17
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.
The Duality Mapping
18
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.
Similarity of Programs
19
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.
The primitive operations provided by the operating system of one model can be made as efficient as their duals of the
other model.
Preservation of Performance
20
It is not very easy to change the structure of most operating systems in a way which would reflect the duality
The underlying address structures, use of global data, and styles of communication are usually bound to the design and implementation
The Cambridge CAP Computer
Empirical Support
21
Comparison of the Two Models
22
The two styles lead to client systems with similar program structure and performance
The computational complexity of the implementation of the system facilities to provide the two styles is similar
Underlying Similarities between Styles
23
Machine Architecture Programming Environment
Underlying Differences between Styles
24
There lies merit in both styles with respect to structure, performance, logical
soundness, elegance and “correctness”.
Neither model is inherently preferable.
The main consideration is the machine architecture upon which the system is
being built, not the application which the system will ultimately support.
Conclusions
25
Presented By:
Amna Rafiq
Graduate StudentCS @ VT
Thank you!