Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "On the Duality of Operating System Structures Hugh Lauer Xerox Corporation Roger Needham Cambridge University Presented by Yahia Mahmoud."— Presentation transcript:

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

2 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.

3 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.

4 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

5 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.

6 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

7 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

8 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

9 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

10 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

11 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

12 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

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

14 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

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

16 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


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

Similar presentations


Ads by Google