1 / 19

On The Duality of Operating System Structures

On The Duality of Operating System Structures. Hugh Lauer, Xerox Roger Needham, Cambridge University 1979 Presented by Catherine Vilhauer. Introduction. Classic paper by Lauer and Needham(1979) Operating Systems fall into two categories Message-oriented systems Procedure-oriented systems

errolb
Download Presentation

On The Duality of Operating System Structures

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 • Message-oriented systems • Procedure-oriented systems • These two systems are duals • can be mapped to one another • are logically identical • 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 SystemsWhat 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 SystemWhat’s a good design? • Specific communication paths (message channels, sockets etc) • Relatively static number of processes and connections • Deletion and creation of processes can be difficult • Relatively static context for each process • virtual memories or address spaces in one-to-one correspondence with process. • Processes rarely share data in memory • Processes tend to be associated with system resources CS533 - Concepts of Operating Systems

  6. Message-Oriented SystemsCharacteristics • 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 SystemsCanonical Model • Idealized Operating System kernel contains: • Messages and message identifiers • Message channels and Message Ports • Four message transmission operations • SendMessage(MessageChannel, MessageBody) • AwaitReply(MessageID) • WaitForMessage(set of MessagePorts) • SendReply(MsgId, MsgBody) • Process Declarations • Create Process CS533 - Concepts of Operating Systems

  8. An Example: SEDA CS533 - Concepts of Operating Systems

  9. Procedure-Oriented SystemsWhat 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 SystemsWhat’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 SystemsCharacteristics • 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 SystemCanonical Model • Idealized Operating System contains: • Procedures • local data • algorithms • parameters • results • Procedure call facilities • synchronous • asynchronous • Modules and monitors • Condition Variables • 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 ArgumentSimilarity of Programs • Can transform one system to the other • If written in exact style shown on previous slide • Logic unchanged Process declaration Monitor Procedure Calls SendMessage AwaitReply CS533 - Concepts of Operating Systems

  17. The Duality ArgumentPerformance is Preserved • Performance of both systems the same • 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. • 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 • 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? • Machine architecture • Programming environment CS533 - Concepts of Operating Systems

More Related