On the Duality of Operating System Structures 1. Hugh C. Lauer Xerox Corporation Palo Alto, Californi a Roger M. Needham Cambridge University Cambridge,

Slides:



Advertisements
Similar presentations
Processes Management.
Advertisements

Operating System Structures
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
Multiprocessor OS The functional capabilities often required in an OS for a multiprogrammed computer include the resource allocation and management schemes,
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Computer Systems/Operating Systems - Class 8
Concurrency, Thread and Event CS6410 Sept 6, 2011 Ji-Yong Shin.
Hugh Lauer Xerox Corporation Roger Needham Cambridge University Presented by Vidhya Priyadharshnee Palaniswamy Gnanam Spring 2011.
Concurrency: Mutual Exclusion and Synchronization Why we need Mutual Exclusion? Classical examples: Bank Transactions:Read Account (A); Compute A = A +
Reference: Message Passing Fundamentals.
Introduction in algorithms and applications Introduction in algorithms and applications Parallel machines and architectures Parallel machines and architectures.
1 On the Duality of Operating System Structures by Hugh C. Lauer, Xerox Corporation and Roger M. Needham, Cambridge University Presented by Scott Fletcher.
CS533 Concepts of Operating Systems Class 20 Summary.
CS-550 (M.Soneru): Protection and Security - 1 [SaS] 1 Protection and Security.
Middleware Technologies compiled by: Thomas M. Cosley.
“Why Events are a Bad Idea (For high-concurrency servers)” Paper by Rob von Behren, Jeremy Condit and Eric Brewer, May 2003 Presentation by Loren Davis,
1 On the Duality of Operating System Structures Hugh Lauer, Xerox Roger Needham, Cambridge University Oct 1978, reprinted April 1979 Presented by David.
Figure 1.1 Interaction between applications and the operating system.
CS533 - Concepts of Operating Systems
On the Duality of Operating System Structures Hugh Lauer Xerox Corporation Roger Needham Cambridge University Presented by Yahia Mahmoud.
Communication in Distributed Systems –Part 2
02/01/2010CSCI 315 Operating Systems Design1 Interprocess Communication Notice: The slides for this lecture have been largely based on those accompanying.
User-Level Interprocess Communication for Shared Memory Multiprocessors Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented.
On the Duality of Operating System Structures Hugh C. Lauer Xerox Corporation Roger M. Needham Cambridge University Presented By: Ashwini Kulkarni.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Modern Concurrency Abstractions for C# by Nick Benton, Luca Cardelli & C´EDRIC FOURNET Microsoft Research.
Presentation by Betsy Kavali
Inter-Process Communication Mechanisms CSE331 Operating Systems Design.
1 Micro-kernel. 2 Key points Microkernel provides minimal abstractions –Address space, threads, IPC Abstractions –… are machine independent –But implementation.
Dave Archer - CS533 - Spring On the Duality of Operating System Structures Hugh C. Lauer, Roger M. Needham.
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
Implementing Remote Procedure Calls Authored by Andrew D. Birrell and Bruce Jay Nelson Xerox Palo Alto Research Center Presented by Lars Larsson.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 7 OS System Structure.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
CS533 - Concepts of Operating Systems 1 On The Duality of Operating System Structures Hugh Lauer, Xerox Roger Needham, Cambridge University 1979 Presented.
Processes Introduction to Operating Systems: Module 3.
The Mach System Abraham Silberschatz, Peter Baer Galvin, Greg Gagne Presentation By: Agnimitra Roy.
Lecture 8 Page 1 CS 111 Online Other Important Synchronization Primitives Semaphores Mutexes Monitors.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
ON THE DUALITY OF OPERATING SYSTEM STRUCTURES Hugh C. Lauer and Roger M. Needham Presented by: Ali R. Butt (adapted from many slides available online and.
Middleware Services. Functions of Middleware Encapsulation Protection Concurrent processing Communication Scheduling.
Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy. Presented by: Tim Fleck.
M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young MACH: A New Kernel Foundation for UNIX Development Presenter: Wei-Lwun.
13-1 Chapter 13 Concurrency Topics Introduction Introduction to Subprogram-Level Concurrency Semaphores Monitors Message Passing Java Threads C# Threads.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
By: Rob von Behren, Jeremy Condit and Eric Brewer 2003 Presenter: Farnoosh MoshirFatemi Jan
CSE 153 Design of Operating Systems Winter 2015 Midterm Review.
 Process Concept  Process Scheduling  Operations on Processes  Cooperating Processes  Interprocess Communication  Communication in Client-Server.
REVIEW OF “ON THE DUALITY OF OPERATING SYSTEM STRUCTURES” Paper by Hugh C. Lauer and Roger M. Needham Presentation by Erin Chapman.
Copyright © Curt Hill More on Operating Systems Continuation of Introduction.
PROCESS MANAGEMENT IN MACH
The Mach System Sri Ramkrishna.
“Language Mechanism for Synchronization”
On the Duality of Operating System Structures
Concurrency, threads, and events
Outline Other synchronization primitives
Processes Overview: Process Concept Process Scheduling
CS533 Concepts of Operating Systems
Operating System Structure
Threads, SMP, and Microkernels
Recap OS manages and arbitrates resources
On the Duality of Operating System Structures
Chapter 1 Introduction to Operating System Part 5
Lecture 4- Threads, SMP, and Microkernels
Hugh Lauer Xerox Corporation Roger Needham Cambridge University
Programming Languages
On the Duality of Operating System Structures
CSE 153 Design of Operating Systems Winter 2019
CS533 Concepts of Operating Systems Class 4
Presentation transcript:

On the Duality of Operating System Structures 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

 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 3

“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 4

 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 5

Two Models  Message-Oriented Systems  Procedure-Oriented Systems 6

Characterized by a relatively small, static number of processes with an explicit message system for communicating among them Message-Oriented Systems 7

 Specific communication paths  Relatively static number of processes and connections  Deletion of processes tends to be very difficult Hallmarks 8

 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 9

 SendMessage [messageChannel, messageBody] returns [messageId]  AwaitReply [messageId] returns [messageBody]  WaitForMessage [set of messagePort] returns [messageBody, messageId, messagePort]  SendReply [messageId, messageBody] Message Transmission Operations 10

 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 11

Characterized by a large, rapidly changing number of small processes and a process synchronization mechanism based on shared data Procedure-Oriented Systems 12

 Global data can be both protected and efficiently accessed  Process creation is very easy Hallmarks 13

 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 14

 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 15

 The Duality Mapping  Similarity of Programs  Preservation of Performance Characteristics of the Models 16

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 17

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 18

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 19

 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 20

Comparison of the Two Models 21

 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 22

 Machine Architecture  Programming Environment Underlying Differences between Styles 23

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 24

Presented By: Amna Rafiq Graduate Student VT Thank you! 25