Tải bản đầy đủ (.pdf) (16 trang)

Lecture Operating systems: A concept-based approach (2/e): Chapter 10 - Dhananjay M. Dhamdhere

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (628.8 KB, 16 trang )

  
PROPRIETARY MATERIAL. ©  2007 The McGraw­Hill Companies, Inc. All rights reserved. No part of this PowerPoint slide  may be displayed, reproduced or distributed 
in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw­Hill 
for their individual course preparation. If you are a student using this PowerPoint slide, you are using it without permission. 

Chapter 10: 
Message Passing

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 1
Copyright © 2008


Message passing preliminaries

•  The sender process names the destination process and provides the message
•  The destination process specifies an area in which the message should be put

  

Chapter 10: 
Message Passing

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 2
Copyright © 2008



Issues in message passing



Naming of processes
* Direct and indirect naming
 Direct: Process names are specified in send / receive
commands
 Indirect: Process names are inferred by the kernel
* Symmetric and asymmetric naming
 Symmetric: Both sender and receiver processes specify each
other’s names
 Asymmetric: Receiving process does not specify name of a
sender process

  

Chapter 10: 
Message Passing

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 3
Copyright © 2008


Issues in message passing




Method for transferring messages
* Process executing a receive command is blocked until a message is
delivered
* The sender process may or may not be blocked until delivery
 Synchronous message passing: sender is blocked
» Simplifies message passing, saves memory
 Asynchronous message passing: sender is not blocked
* Order in which messages are delivered
* Handling of exceptions like non-existing processes, undeliverable
messages

  

Chapter 10: 
Message Passing

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 4
Copyright © 2008


Issues in message passing



Kernel responsibilities

– Buffering of messages
* Kernel builds an interprocess message control block (IMCB)
* IMCB is stored in an appropriate data structure
 The message may be stored in IMCB or separately

– Blocking and unblocking of processes
* May be performed using event control blocks (ECBs)

  

Chapter 10: 
Message Passing

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 5
Copyright © 2008


Interprocess message control block (IMCB)

  

Chapter 10: 
Message Passing

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed


Slide No: 6
Copyright © 2008


Lists of IMCBs pending delivery of messages

  

Chapter 10: 
Message Passing

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 7
Copyright © 2008


Symmetric naming and blocking sends

(a) A process executes send and destination process has not executed receive
(b) A process executes receive and sender process has not executed send

  

Chapter 10: 
Message Passing

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed


Slide No: 8
Copyright © 2008


Symmetric naming and blocking sends

  

Chapter 10: 
Message Passing

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 9
Copyright © 2008


Symmetric naming and blocking sends

  

Chapter 10: 
Message Passing

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 10

Copyright © 2008


Mailbox

  

•  A mailbox has a name and is a repository of messages
•  Processes connect to a mailbox and send / receive messages from it

Chapter 10: 
Message Passing

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 11
Copyright © 2008


Mailbox



Benefits of using a mailbox
– Anonimity of receiver
* A sender process need not know identity of receiver process

– Classification of messages
* A process can use numerous mailboxes, one for each kind of

message

  

Chapter 10: 
Message Passing

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 12
Copyright © 2008


Use of mailboxes

•  An airline reservations process uses three mailboxes
─ book, enquire, receive
  
•  This way it can process cancellations followed by bookings followed by queries

Chapter 10: 
Message Passing

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 13
Copyright © 2008



Message passing in Unix

  

    Pipe           Message queue                         Socket

•  A pipe is a FIFO mechanism, message queue is analogous to a mailbox
•  Socket is one end of a communication path in a Unix domain or  in the
   Internet domain
Chapter 10: 
Message Passing

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 14
Copyright © 2008


Reservations server in Unix 5.4

•  Cancellation, booking and enquiry messages are assigned types 1, 2 and 3 resp
•  The msgrcv call returns a cancellation message, if present
  
•  If no cancellation messages exist, it returns a bookings message, if present, or
   an enquiry message
Chapter 10: 
Message Passing


Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 15
Copyright © 2008


Message passing in Windows



Overview of Windows features
– Local procedure call (LPC) for message passing between
processes located in the same computer
* Provides three types of message passing
 Small and large messages are sent using ports, where a port is
like a mailbox
» Small messages are stored in the port, large messages are
stored in section objects
 Quick LPC: A server creates a thread for each client. This
thread and the client use event pair objects to synchronize

  

Chapter 10: 
Message Passing

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed


Slide No: 16
Copyright © 2008



×