CS533 - Concepts of Operating Systems 1 On The Duality of Operating System Structures Hugh Lauer, Xerox Roger Needham, Cambridge University 1979 Presented.

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,
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
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.
Why Events Are A Bad Idea (for high-concurrency servers) By Rob von Behren, Jeremy Condit and Eric Brewer.
1 On the Duality of Operating System Structures by Hugh C. Lauer, Xerox Corporation and Roger M. Needham, Cambridge University Presented by Scott Fletcher.
CS 584. A Parallel Programming Model We need abstractions to make it simple. The programming model needs to fit our parallel machine model. Abstractions.
Figure 2.8 Compiler phases Compiling. Figure 2.9 Object module Linking.
CS533 Concepts of Operating Systems Class 6 The Duality of Threads and Events.
Why Events Are a Bad Idea (for high-concurrency servers) Author: Rob von Behren, Jeremy Condit and Eric Brewer Presenter: Wenhao Xu Other References: [1]
1/28/2004CSCI 315 Operating Systems Design1 Operating System Structures & Processes Notice: The slides for this lecture have been largely based on those.
“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
On the Duality of Operating System Structures Hugh Lauer Xerox Corporation Roger Needham Cambridge University Presented by Yahia Mahmoud.
CS533 - Concepts of Operating Systems 1 Class Discussion.
CS533 Concepts of Operating Systems Class 3 Integrated Task and Stack Management.
1 Process Description and Control Chapter 3 = Why process? = What is a process? = How to represent processes? = How to control processes?
User-Level Interprocess Communication for Shared Memory Multiprocessors Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented.
1 Threads Chapter 4 Reading: 4.1,4.4, Process Characteristics l Unit of resource ownership - process is allocated: n a virtual address space to.
On the Duality of Operating System Structures Hugh C. Lauer Xerox Corporation Roger M. Needham Cambridge University Presented By: Ashwini Kulkarni.
SEDA: An Architecture for Well-Conditioned, Scalable Internet Services
Chapter 51 Threads Chapter 5. 2 Process Characteristics  Concept of Process has two facets.  A Process is: A Unit of resource ownership:  a virtual.
Computer Architecture Computational Models Ola Flygt V ä xj ö University
1 Lecture 4: Threads Operating System Fall Contents Overview: Processes & Threads Benefits of Threads Thread State and Operations User Thread.
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,
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 7 OS System Structure.
CE Operating Systems Lecture 11 Windows – Object manager and process management.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Threads G.Anuradha (Reference : William Stallings)
Kernel Locking Techniques by Robert Love presented by Scott Price.
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.
1 VxWorks 5.4 Group A3: Wafa’ Jaffal Kathryn Bean.
Department of Computer Science and Software Engineering
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.
Presenting: Why Events Are A “Bad” Idea ( for high-concurrency servers) Paper by: Behren, Condit and Brewer, 2003 Presented by: Rania Elnaggar 1/30/2008.
Module 2.0: Threads.
13-1 Chapter 13 Concurrency Topics Introduction Introduction to Subprogram-Level Concurrency Semaphores Monitors Message Passing Java Threads C# Threads.
By: Rob von Behren, Jeremy Condit and Eric Brewer 2003 Presenter: Farnoosh MoshirFatemi Jan
CSE 153 Design of Operating Systems Winter 2015 Midterm Review.
1 Why Events Are A Bad Idea (for high-concurrency servers) By Rob von Behren, Jeremy Condit and Eric Brewer (May 2003) CS533 – Spring 2006 – DONG, QIN.
Chapter 2 Process Management. 2 Objectives After finish this chapter, you will understand: the concept of a process. the process life cycle. process states.
CS533 Concepts of Operating Systems Jonathan Walpole.
 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.
1.  System Characteristics  Features of Real-Time Systems  Implementing Real-Time Operating Systems  Real-Time CPU Scheduling  An Example: VxWorks5.x.
PROCESS MANAGEMENT IN MACH
The Mach System Sri Ramkrishna.
Topics Covered What is Real Time Operating System (RTOS)
On the Duality of Operating System Structures
Concurrency, threads, and events
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
Lecture 4- Threads, SMP, and Microkernels
Threads and Concurrency
Threads Chapter 4.
Hugh Lauer Xerox Corporation Roger Needham Cambridge University
On the Duality of Operating System Structures
CSE 153 Design of Operating Systems Winter 2019
CS533 Concepts of Operating Systems Class 4
Presentation transcript:

CS533 - Concepts of Operating Systems 1 On The Duality of Operating System Structures Hugh Lauer, Xerox Roger Needham, Cambridge University 1979 Presented by Catherine Vilhauer

CS533 - Concepts of Operating Systems 2 Introduction  Classic paper by Lauer and Needham(1979)  Operating Systems fall into two categories o Message-oriented systems o Procedure-oriented systems  These two systems are duals o can be mapped to one another o are logically identical o performance is also identical  As a result, which you choose based on architecture constraints

CS533 - Concepts of Operating Systems 3 What I’m Going to Cover  Message-Oriented System  Procedure-Oriented System  Comparison of the Two  Argument for Duality  Evidence?

CS533 - Concepts of Operating Systems 4 Message-Oriented Systems What are they?  Pass messages (or events) easily and efficiently among processes  Queue messages at destination process  Primitive operations for processes  Pre-emption occurs when higher priority message received

CS533 - Concepts of Operating Systems 5 Message-Oriented System What’s a good design?  Specific communication paths (message channels, sockets etc)  Relatively static number of processes and connections o Deletion and creation of processes can be difficult  Relatively static context for each process o virtual memories or address spaces in one-to-one correspondence with process. o Processes rarely share data in memory  Processes tend to be associated with system resources

CS533 - Concepts of Operating Systems 6 Message-Oriented Systems Characteristics  Synchronization implemented in message queues  Data structures passed by reference in messages  Peripheral devices treated as processes  Priorities statically assigned at time of design  Processes operate on small number of messages at a time and complete those operations before looking at message queue again  Procedural interfaces or global naming schemes not useful

CS533 - Concepts of Operating Systems 7 Message-Oriented Systems Canonical Model  Idealized Operating System kernel contains: o Messages and message identifiers o Message channels and Message Ports o Four message transmission operations SendMessage(MessageChannel, MessageBody) AwaitReply(MessageID) WaitForMessage(set of MessagePorts) SendReply(MsgId, MsgBody) o Process Declarations o Create Process

CS533 - Concepts of Operating Systems 8 An Example: SEDA

CS533 - Concepts of Operating Systems 9 Procedure-Oriented Systems What are they?  Oriented around procedure  Efficient context switching  Synchronization via locks, mutexes and semaphores  Process may have to wait for a lock  Preemption occurs when release performed on a lock

CS533 - Concepts of Operating Systems 10 Procedure-Oriented Systems What’s a good design?  Global data protected and accessed by procedural interfaces which do synchronization in controlled ways  Process creation and deletion easy  Process has just one task, but wanders over system  Encoded in common / global data structures

CS533 - Concepts of Operating Systems 11 Procedure-Oriented Systems Characteristics  Synchronization - queues of processes waiting for locks  Data shared directly among processes  Control of and interrupts from devices - manipulating locks and / or shared data in memory  Processes inherit priorities dynamically  Global naming schemes

CS533 - Concepts of Operating Systems 12 Procedure-Oriented System Canonical Model  Idealized Operating System contains: o Procedures local data algorithms parameters results o Procedure call facilities synchronous asynchronous o Modules and monitors o Condition Variables o Fork and Join

CS533 - Concepts of Operating Systems 13 Comparison of the Two Systems

CS533 - Concepts of Operating Systems 14 An Example: KNOT  Knot platform built by Behren, Condit and Brewer in following paper  Interesting that Brewer was co-author of SEDA paper arguing for event-based system 2 years before

CS533 - Concepts of Operating Systems 15 The Duality Mapping

CS533 - Concepts of Operating Systems 16 The Duality Argument Similarity of Programs  Can transform one system to the other o If written in exact style shown on previous slide  Logic unchanged Monitor Process declaration Procedure Calls SendMessage AwaitReply

CS533 - Concepts of Operating Systems 17 The Duality Argument Performance is Preserved  Performance of both systems the same o Execution time of program themselves But since we have already shown that the programs are identical, then the execution time of each system will be exactly the same too. o computational overhead of primitive operations they call The authors assert that the two canonical models can be made execute as efficiently as the other GEC 4080 and MESA - different systems, but same speed o queuing and waiting times (sharing resources) can make basi operations of the two models behave identically with scheduling operations. Will happen just as quickly and in the same order in both

CS533 - Concepts of Operating Systems 18 Evidence?  Not much empirical evidence  Cambridge CAP Computer  Hugely influential and still considered a classic

CS533 - Concepts of Operating Systems 19 Conclusions  No inherent different between the two styles  Produce systems of similar structure and performance  Computational complexity is similar  Why choose one over the other? o Machine architecture o Programming environment