1 On the Duality of Operating System Structures Hugh Lauer, Xerox Roger Needham, Cambridge University Oct 1978, reprinted April 1979 Presented by David.

Slides:



Advertisements
Similar presentations
OPERATING SYSTEMS PROCESSES
Advertisements

Operating Systems Lecture 7.
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
CS533 - Concepts of Operating Systems 1 Presentation Summary of “Experiences with Processes and Monitors in Mesa” By Burke Ellett.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
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.
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.
Chapter 3: Processes. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Objectives Understand Process concept Process scheduling Creating.
CS533 Concepts of Operating Systems Class 6 The Duality of Threads and Events.
Concurrency CS 510: Programming Languages David Walker.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Processes.
“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,
CMPT 300: Operating Systems I Ch 3: Processes Dr. Mohamed Hefeeda
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
Chapter 3: Processes. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7 th Edition, Feb 7, 2006 Chapter 3: Processes Process Concept.
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.
1/26/2007CSCI 315 Operating Systems Design1 Processes Notice: The slides for this lecture have been largely based on those accompanying the textbook Operating.
On the Duality of Operating System Structures Hugh C. Lauer Xerox Corporation Roger M. Needham Cambridge University Presented By: Ashwini Kulkarni.
Real Time Operating System
Modern Concurrency Abstractions for C# by Nick Benton, Luca Cardelli & C´EDRIC FOURNET Microsoft Research.
Inter-Process Communication Mechanisms CSE331 Operating Systems Design.
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,
CE Operating Systems Lecture 11 Windows – Object manager and process management.
30 October Agenda for Today Introduction and purpose of the course Introduction and purpose of the course Organization of a computer system Organization.
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.
CS212: OPERATING SYSTEM Lecture 2: Process 1. Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Process-Concept.
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.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 4: Processes Process Concept Process Scheduling Operations on Processes Cooperating.
The Mach System Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne Presented by: Jee Vang.
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
CSE 153 Design of Operating Systems Winter 2015 Midterm Review.
Processes. Process Concept Process Scheduling Operations on Processes Interprocess Communication Communication in Client-Server Systems.
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.
Chapter 3: Processes. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 3: Processes Process Concept Process Scheduling Operations.
REVIEW OF “ON THE DUALITY OF OPERATING SYSTEM STRUCTURES” Paper by Hugh C. Lauer and Roger M. Needham Presentation by Erin Chapman.
Chapter 3: Processes. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 3: Processes Process Concept Process Scheduling Operations.
Concepts and Structures. Main difficulties with OS design synchronization ensure a program waiting for an I/O device receives the signal mutual exclusion.
Chapter 3: Process Concept
On the Duality of Operating System Structures
Concurrency, threads, and events
Processes Overview: Process Concept Process Scheduling
CS533 Concepts of Operating Systems
Applied Operating System Concepts
Lecture 2: Processes Part 1
Recap OS manages and arbitrates resources
On the Duality of Operating System Structures
Process Description and Control
Hugh Lauer Xerox Corporation Roger Needham Cambridge University
Major Topics in Operating Systems
On the Duality of Operating System Structures
CSE 153 Design of Operating Systems Winter 2019
CS533 Concepts of Operating Systems Class 4
Presentation transcript:

1 On the Duality of Operating System Structures Hugh Lauer, Xerox Roger Needham, Cambridge University Oct 1978, reprinted April 1979 Presented by David Allen

2 Introduction Operating System Concepts  concept of process  synchronization  interprocess communication Operating Systems Categories  message-oriented system  procedure-oriented system Observations on Duality  the models are duals  logically identical  have identical performance

3 Canonical (simple) Models Message-oriented Model  small, static number of big processes  explicit message channels between them  limited use shared memory  context of execution with process Procedure-oriented Model  large number of small processes  rapid creation and deletion of processes  extensive use of interlocked shared memory  context of execution with function

4 Message-oriented Systems Characterized by Message (Event) Passing Facilities  efficient message passing  message queues  messaging primitives  pre-emption when 'higher priority' process receives message

5 Message-oriented Systems: Design Good Design Practices  static structure, static priorities  message queues handle synchronization for congested resources  data passed by reference in messages  peripheral devices are treated as processes  processes handle messages in batches  naming schemes are not needed

6 Message-oriented Systems: Primitives Provided 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

7 Procedure-oriented Systems Characterized by Procedure Call Facilities  efficient context switching  cooperation via synchronizing primitives  processes may queue on locks  lock queue favors 'higher priority' process on a lock release

8 Procedure-oriented Systems: Design 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

9 Procedure-oriented Systems: Primitives Provided 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

10 Duality Given that Systems match the Canonical Models  primitive can be mapped directly  program logic and data structures are conserved  performance is preserved given identical scheduling strategies

11 Duality: Primitive Mapping Message-oriented system 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

12 Duality: Logic and Performance Conservation of Logic  control structures are directly translated  initialization moved  no algorithms are changed  no data structures are replaced Preservation of Performance  logic stays the same  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

13 Conclusions typical systems are not perfect examples of either model both models are equally effective efficient implementation in key choice between models is based on the platform, not application choice tends to result in a full adoption of model design