On the Duality of Operating System Structures Hugh Lauer Xerox Corporation Roger Needham Cambridge University Presented by Yahia Mahmoud.

Slides:



Advertisements
Similar presentations
Threads, SMP, and Microkernels
Advertisements

CAS3SH3 Midterm Review. The midterm 50 min, Friday, Feb 27 th Materials through CPU scheduling closed book, closed note Types of questions: True & False,
CS533 - Concepts of Operating Systems 1 Presentation Summary of “Experiences with Processes and Monitors in Mesa” By Burke Ellett.
OS Organization 1 CS502 Spring 2006 A Note on Operating System Organization CS-502 – Spring 2006.
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 +
CS533 Concepts of Operating Systems Class 3 Monitors.
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 6 The Duality of Threads and Events.
© Andy Wellings, 2004 Roadmap  Introduction  Concurrent Programming  Communication and Synchronization  Completing the Java Model  Overview of the.
Threads 1 CS502 Spring 2006 Threads CS-502 Spring 2006.
“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.
CS533 - Concepts of Operating Systems
Device Management.
Communication in Distributed Systems –Part 2
CS533 - Concepts of Operating Systems 1 Class Discussion.
Asynchronous Message Passing EE 524/CS 561 Wanliang Ma 03/08/2000.
User-Level Interprocess Communication for Shared Memory Multiprocessors Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented.
1 I/O Management in Representative Operating Systems.
On the Duality of Operating System Structures Hugh C. Lauer Xerox Corporation Roger M. Needham Cambridge University Presented By: Ashwini Kulkarni.
1 Data Object Object Types A VHDL object consists of one of the following: –Signal, Which represents interconnection wires that connect component instantiation.
Lecture 4: Parallel Programming Models. Parallel Programming Models Parallel Programming Models: Data parallelism / Task parallelism Explicit parallelism.
Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication in Client-Server.
Dave Archer - CS533 - Spring On the Duality of Operating System Structures Hugh C. Lauer, Roger M. Needham.
On the Duality of Operating System Structures 1. Hugh C. Lauer Xerox Corporation Palo Alto, Californi a Roger M. Needham Cambridge University Cambridge,
Race Conditions Defined 1. Every data structure defines invariant conditions. defines the space of possible legal states of the structure defines what.
CS533 - Concepts of Operating Systems 1 On The Duality of Operating System Structures Hugh Lauer, Xerox Roger Needham, Cambridge University 1979 Presented.
CS-3013 & CS-502, Summer 2006 Operating System Organization1 A Brief Discussion on Operating System Organization.
Processes. Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication.
Processes and Process Control 1. Processes and Process Control 2. Definitions of a Process 3. Systems state vs. Process State 4. A 2 State Process Model.
Using a simple Rendez-Vous mechanism in Java
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.
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
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.
CS533 – Spring Jeanie M. Schwenk Experiences and Processes and Monitors with Mesa What is Mesa? “Mesa is a strongly typed, block structured programming.
By: Rob von Behren, Jeremy Condit and Eric Brewer 2003 Presenter: Farnoosh MoshirFatemi Jan
Lecture 4: Processes & Threads. Lecture 4 / Page 2AE4B33OSS Silberschatz, Galvin and Gagne ©2005 Contents The concept of Process Process states and life-cycle.
 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.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
Concepts and Structures. Main difficulties with OS design synchronization ensure a program waiting for an I/O device receives the signal mutual exclusion.
Channels. Models for Communications Synchronous communications – E.g. Telephone call Asynchronous communications – E.g. .
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
Chapter 3: Process Concept
PROCESS MANAGEMENT IN MACH
On the Duality of Operating System Structures
Concurrency, threads, and events
Processes Overview: Process Concept Process Scheduling
CS533 Concepts of Operating Systems
Section 10: Last section! Final review.
Chapter 4: Processes Process Concept Process Scheduling
Lecture 2: Processes Part 1
Recap OS manages and arbitrates resources
On the Duality of Operating System Structures
Sarah Diesburg Operating Systems CS 3430
Channels.
Hugh Lauer Xerox Corporation Roger Needham Cambridge University
Major Topics in Operating Systems
Presented by: SHILPI AGARWAL
Channels.
Channels.
On the Duality of Operating System Structures
CS533 Concepts of Operating Systems Class 4
Presentation transcript:

On the Duality of Operating System Structures Hugh Lauer Xerox Corporation Roger Needham Cambridge University Presented by Yahia Mahmoud

Yahia Mahmoud - CS5332 Introduction  Two categories of Operating systems Message-oriented System Procedure-oriented System  Both are dual to each other  Neither model is inherently preferable.  Choice is based on the machine architecture not application.

Yahia Mahmoud - CS5333 What is Duality?  Two system are dual if Are logically identical to each other Can be transformed into one another Primitives defined by one model can be mapped directly into the other one Have identical performance. Primitive operations of one model is efficient as the dual model.

Yahia Mahmoud - CS5334 Message-oriented System  Small, static number of big processes Deletion of processes difficult because of queued messages Creation of new process also difficult  Explicit message channels between them Message channels, ports, sockets..etc Binding is done on intialization and stay for long time

Yahia Mahmoud - CS5335 Message-oriented System  Limited use shared memory.  Identification of the context of execution with processes Each process operates in a static context Virtual memories and address space not shared  Needs of application are encoded in the message.

Yahia Mahmoud - CS5336 Message-oriented System Good Design Practices:  Message queuing provides synchronization of processes and queuing of congested resources  Data passed by reference in messages  Peripheral devices treated as processes  Static assignment of priorities to processes  No global naming schemes

Yahia Mahmoud - CS5337 Canonical Model Provide Facilities:  messages, message identifiers  message channels, message ports  SendMessage[ messageChannel, messageBody ] returns [ messageId ]  AwaitReply[ messageId ] returns [ messageBody ]  WaitForMessage[ set of messagePort ] returns [ messageBody, messageld, messagePort ]  SendReply[ messageId, messageBody ]  process declaration  CreateProcess

Yahia Mahmoud - CS5338 Procedure-oriented System  Large number of small processes  Rapid creation and deletion  Communication by direct data sharing and interlocking of data in memory  Identification of context of execution with procedures

Yahia Mahmoud - CS5339 Procedure-oriented System  processes may queue on locks  lock queue favors 'higher priority' process on a lock release  System resources is encoded in global data structures

Yahia Mahmoud - CS53310 Procedure-oriented System Good Design Practices  process (thread) creation and destruction is cheap and dynamic  priorities are associated with the locks or data structures  lock queuing provides synchronization for congested resources  data is shared directly  data locks are kept short and small  peripheral devices are used via locks and shared memory  global naming schemes are important

Yahia Mahmoud - CS53311 Canonical Model Provide Facilities  procedures, process identifiers  procedure call facilities, synchronous and asynchronous  processld <- FORK procedureName[ parameterList ]  [ resultList ] <- JOIN processld  modules and monitors  module instantiation with NEW and START  condition variables  WAIT conditionVariable  SIGNAL condition Variable

Yahia Mahmoud - CS53312 The Duality Mapping Processes, CreateProcess message channels message message ports SendMessage; AwaitReply (immediate) SendMessage;... AwaitReply (delayed) SendReply main message loop arms of the case statement selective waiting for messages monitors, NEW/START External procedure identifiers ENTRY procedure identifiers simple procedure call FORK;...JOIN RETURN (from procedure) monitor lock, ENTRY attribute ENTRY procedure declarations condition variables, WAIT, SIGNAL  Procedure-oriented system  Message-oriented system

Yahia Mahmoud - CS53313 Logic Preservation  Conservation of Logic control structures are directly translated initialization moved no algorithms are changed no data structures are replaced

Yahia Mahmoud - CS53314 Performance Preservation  Preservation of Performance method calls and message sends have similar costs message queuing and lock queuing have similar costs process switching can be equally fast virtual memory and paging can be equally fast

Yahia Mahmoud - CS53315 Empirical Support  No formal proof  Empirical support based on observations of few systems.  Applied mapping in the Cambridge CAP computer

Yahia Mahmoud - CS53316 Conclusions  Empirical paper  No inherent different between the two styles – Neither one is better.  The two styles lead to client systems with similar program structure and performance  Choice is base on machine architecture and/or programming environment