1 Hugh C Lauer Xerox Corporation Palo Alto Californi a Roger M Needham Cambridge University Cambridge England Proc Second International Symposium on Operating Systems IRIA Oct 1978 ID: 271484
Download Presentation The PPT/PDF document "On the Duality of Operating System Struc..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
On the Duality of Operating System Structures
1Slide2
Hugh C. Lauer
Xerox Corporation
Palo Alto, CaliforniaRoger M. NeedhamCambridge UniversityCambridge, England
Proc. Second International Symposium on Operating Systems, IRIA, Oct. 1978
2Slide3
Overview
Nature of the Paper
Two ModelsMessage-Oriented SystemsProcedure-Oriented SystemsCharacteristics of the ModelsEmpirical SupportUnderlying SimilaritiesUnderlying DifferencesConclusionsOutline3Slide4
“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
4Slide5
The paper is empirical in natureThe universe in the investigation is the class of operating systems
The properties of interest are processes, synchronization and inter-process communication
Nature of the Paper5Slide6
Two Models
Message-Oriented Systems
Procedure-Oriented Systems6Slide7
Characterized by a relatively small, static number of processes with an explicit message system for communicating among them
Message-Oriented Systems
7Slide8
Specific communication pathsRelatively static number of processes and connections
Deletion of processes tends to be very difficult
Hallmarks8Slide9
Messages
A message is a data structure meant for sending information from one process to another
Message IdentifiersA message identifier is a handle by which a particular message can be identifiedMessage ChannelsA message channel is an abstract structure which identifies the destination of the messageMessage PortsA message port is a queue capable of holding messages of a certain type or classFacilities9Slide10
SendMessage [
messageChannel
, messageBody] returns [messageId]AwaitReply [messageId] returns [messageBody]WaitForMessage [set of messagePort] returns [messageBody, messageId, messagePort]SendReply [messageId, messageBody
]Message Transmission Operations
10Slide11
IBM’s OS/360A 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)Examples11Slide12
Characterized by a large, rapidly changing number of small processes and a process synchronization mechanism based on shared data
Procedure-Oriented Systems
12Slide13
Global data can be both protected and efficiently accessed
Process creation is very easy
Hallmarks13Slide14
Procedures
A procedure is a piece of Mesa text containing algorithms, local data, parameters and results.
Procedure call facilities – synchronous and asynchronousThe synchronous procedure call mechanism is just the ordinary Mesa procedure call statementThe asynchronous procedure call mechanism is represented by the FORK and JOIN statementsModules and MonitorsA module is the primitive Mesa unit of compilationA 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 timeModule InstantiationModules may be instantiated in Mesa by means of the NEW and START statementsCondition VariablesCondition Variables provide more flexible synchronization among eventsFacilities
14Slide15
HYDRAAn early capability-based, object-oriented, microkernel implemented in the programming language BLISS as part of the
C.mmp
project at Carnegie-Mellon UniversityPlessey System 250Capability-based multiprocessing operating system kernelExamples15Slide16
The Duality MappingSimilarity of Programs
Preservation of Performance
Characteristics of the Models16Slide17
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 Mapping17Slide18
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 Programs18Slide19
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 Performance19Slide20
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 ComputerEmpirical Support20Slide21
Comparison of the Two Models
21Slide22
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 Styles22Slide23
Machine ArchitectureProgramming Environment
Underlying Differences between Styles
23Slide24
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.Conclusions24Slide25
Presented By:
Amna Rafiq
Graduate StudentCS @ VTThank you!25