Download presentation
Presentation is loading. Please wait.
Published byEdmund Lang Modified over 8 years ago
1
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
2
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
3
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?
4
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
5
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
6
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
7
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
8
CS533 - Concepts of Operating Systems 8 An Example: SEDA
9
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
10
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
11
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
12
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
13
CS533 - Concepts of Operating Systems 13 Comparison of the Two Systems
14
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
15
CS533 - Concepts of Operating Systems 15 The Duality Mapping
16
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
17
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
18
CS533 - Concepts of Operating Systems 18 Evidence? Not much empirical evidence Cambridge CAP Computer Hugely influential and still considered a classic
19
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.