on the duality of operating system structures 1. hugh c. lauer xerox corporation palo alto,...

Post on 12-Jan-2016

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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!

top related