Review of on the duality of operating system structures
Download
1 / 32

Review of “On the Duality of Operating System Structures” - PowerPoint PPT Presentation


  • 129 Views
  • Uploaded on

Review of “On the Duality of Operating System Structures”. Paper by Hugh C. Lauer and Roger M. Needham Presentation by Erin Chapman. Presentation Outline. Brief overview of the ideas in the paper The two models Message-oriented systems Procedure-oriented systems Equivalence of the models

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Review of “On the Duality of Operating System Structures”' - primo


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Review of on the duality of operating system structures

Review of “On the Duality of Operating System Structures”

Paper by Hugh C. Lauer and Roger M. Needham

Presentation by Erin Chapman


Presentation outline
Presentation Outline Structures”

  • Brief overview of the ideas in the paper

  • The two models

    • Message-oriented systems

    • Procedure-oriented systems

  • Equivalence of the models

    • Duality mapping

    • Preservation of performance

  • Conclusions


Brief overview
Brief Overview Structures”


Overview
Overview Structures”

  • Operating System designs generally fit two types

    • Message-oriented systems

    • Procedure-oriented systems

  • These systems are duals of each other

    • Constructs have direct counterparts

    • Programs are logically equivalent

    • Performance doesn’t differ between models


The two models
The Two Models Structures”

Message-Oriented System


Message oriented system
Message-Oriented System Structures”

  • System for passing messages easily

  • Creates message queues for processes

  • Processes are given operations for

    • Sending a message

    • Waiting for any messages

    • Waiting for a particular type of message

    • Examining the queue

  • Pre-emption when message arrives at a higher priority process


Systems have
Systems Have… Structures”

  • Specific communication paths between processes

  • Static number of processes

  • Static number of connections between processes

  • Processes execute in static context

    • No shared memory


Systems with good design
Systems with Good Design Structures”

  • Process associated with a resource implements synchronization and queuing for it

  • If more than one process needs a data structure, pass by reference

  • Peripheral devices treated as processes

  • Static process priority

  • Process works on one message at a time


Environment structures
Environment: Structures Structures”

  • Messages: data structure for sending information

  • Message Identifiers: handle to identify a particular message

  • Message Channel: Identifies destination of a message

  • Message Port: Queue for holding messages of a certain type for a particular process


Environment message transmission
Environment: Message Transmission Structures”

  • SendMessage(messageChannel, messageBody)

    • Returns messageID

  • AwaitReply(messageID)

    • Returns messageBody

  • WaitForMessage({set of messagePort})

    • Returns (messageBody, messageID, messagePort)

  • SendReply(messageID, messageBody)


Environment processes
Environment: Processes Structures”

  • Process Declaration

    • Local data and algorithms

    • Message ports

    • Message channels for other processes

  • CreateProcess Operation


The two models1
The Two Models Structures”

Procedure-Oriented System


Procedure oriented system
Procedure-Oriented System Structures”

  • Protection and addressing mechanism

  • Efficient procedure calls

  • Cooperation between processes done through locked data structures

  • Pre-emption when a higher priority process gets a lock it was waiting on


Systems have1
Systems Have… Structures”

  • Global data is protected and easily accessed

  • Process creation is efficient and easy

  • Processes have one goal but may wander through the system to do it


Systems with good design1
Systems with Good Design Structures”

  • Synchronization done through locks on data structures

    • A process will lock only small amounts at one time

  • Data is shared between processes

  • Peripherals are controlled by locks and shared memory

  • Processes have dynamic priorities

  • Global naming scheme often used


Environment procedures
Environment: Procedures Structures”

  • Procedure

    • Algorithms

    • Local data

    • Parameters

    • Results


Environment procedure calls
Environment: Procedure Calls Structures”

  • Synchronous

  • Asynchronous

    • fork procedureName(parameterList)

      • Returns processID

    • join processID

      • Returns (resultsList)


Environment modules and monitors
Environment: Modules and Monitors Structures”

  • Module: primitive unit of compilation

    • Procedures

    • Data

  • Monitor: special module protected by a lock

    • Only one process can execute it at a time

  • Module Instantiation

    • new

    • start


Environment condition variables
Environment: Condition Variables Structures”

  • Must be in a monitor

  • Associated queue of processes

  • Operations:

    • wait conditionVariable

    • signal conditionVariable


Equivalence of the models
Equivalence of the Models Structures”

Duality Mapping


The duality mapping
The Duality Mapping Structures”

Message-Oriented System

Procedure-Oriented System

  • Process, CreateProcess

  • Message channels, Message

  • Ports

  • SendMessage; AwaitReply; (immediate)

  • Monitors, new/start

  • Procedure identifiers, entry

  • Procedure identifiers

  • Procedure call


The duality mapping1
The Duality Mapping Structures”

Message-Oriented System

Procedure-Oriented System

  • SendMessage; … AwaitReply; (delayed)

  • SendReply

  • fork; … join;

  • return (from procedure)


The duality mapping2
The Duality Mapping Structures”

Message-Oriented System

Procedure-Oriented System

  • Main loop of standard resource manager, WaitForMessage, case statement

  • Arms of the case statement selective

  • Lock, entry attribute

  • entry


The duality mapping3
The Duality Mapping Structures”

Message-Oriented System

Procedure-Oriented System

  • Waiting for messages

  • Condition variables, wait, signal


Similarity of the models
Similarity of the Models Structures”

  • Programs can be transformed using the duality mapping

  • Logic of program not affected by transformation

  • This only works if the strict model employed in the paper is used


Equivalence of the models1
Equivalence of the Models Structures”

Preservation of Performance


Same execution characteristics
Same Execution Characteristics Structures”

  • Execution time

  • Computational load

  • Queuing

  • Wait times

  • Execution time of system primitives


Program unchanged by transform
Program Unchanged by Transform Structures”

  • Same…

    • Execution speed

    • Amount of information stored

    • Amount of code

  • Interaction between programs doesn’t change

  • Total lifetime computation is the same


Conclusions
Conclusions Structures”


Conclusions1
Conclusions Structures”

  • Little empirical support

  • No inherent differences between the models

  • Choose model based on

    • Machine architecture

    • Programming environment

  • Eliminates some degrees of freedom in the design process


Questions
Questions? Structures”


References
References Structures”

  • Lauer, Hugh C. and Needham, Roger M., “On the Duality of Operating System Structures”, Proceedings of the Second International Symposium on Operating Systems, IR1A, Oct. 1978, reprinted in Operating Systems Review, 13, 2 April 1979, pp. 3-19.


ad