Skip to main content

Message Delivery Protocol

 

Message Delivery Protocol

·         A protocol is a set of rules and conventions shared by communicating entities .

·         Message passing can be blocking or non blocking .

·         In blocking protocol, a sender process is blocked till the message selivered to the . in this case , sender process has guarantee that the message sent by it ie delivered before it continues its execution .

A blocking protocol normally includes:

1.       Blocking send : the sender process is blocked until the message is received by the receiving process or by the mailbox.

2.       Blocking receive : the receiver nlocks until a message is available thus when both sender as well as receiver is blocked ,it is known as rebdevezevous . this combination allows for tight sysnchronization between process.

·         In non blockeing protocol, asender continues the execution after performing a send operation irrespective of whether the message is delivered or not

·         A non blocking protocol has the advantage that a sender is free to continue its execution immediately after sending a message

·         However , sender has no means of knoiwing when(and wheather )its message  is delivered to the receiver.

     

·         A non blocking send : the sending process sends the message and resumes operation.

·         Non blocking receive: the receiver retrieves either a valid message or a null.

 

Buffering

Wheather the communication is direct or indirect , message exchanged by communicating processes reside in a temporary queue.

There are  three different  ways of implementing such queue.

 

Zero capacity

·         Zero capacity queue cannot keep and message waiting in it , thus it has maximum length 0

·         For this , sending process must be blocked until the receiving process receives the message .

·         System with zero capacity queue is known as message system with no buffering.

 

Bounded capacity

·         Bounded capacity queue has finite length n. thus it can have n message.

waiting in it .

·         If the queue is not full , new message can be placed in the queue and the sending process is not blocked , it not blocked , it can continue execution without waiting.

·         If the link or queue is full , then the sender must be blocked until space is available in the queue.

·         This system is also known as automatic buffering .

 Unbounded capacity

·         Unbounded capacity queue has infinite length . thus any number of messages can wait in it .

In such a system , sending process is never blocked , can continue execution without waiting

Shared memory model

·         Normally , process use memory areas within the scope of virtual memory space . also memory management systems ensure that every process has a  well-defined and separate data and separate data and code area.

·         In shared memory model parts of private address space of two or more rae processes are mapped to same physical memory.

·         Such a memory areas are called shared memory regions.


Comments

Popular posts from this blog

Defination of OS(operating system) and its concepts

    What do you mean by operating system?     Definition :  An operating system is a program that act as an interface between the user of a computer and the                                      Computer hardware. Operating system is a first program that gets loaded into the memory through a process called booting. Concepts of operating system : ·                       The purpose of operating system is to provide an environment in which a user can execute program in a convenient and efficient manner. ·                       Operating system is an integrated set of program that ma...

Time Sharing System and its Requirements

  Time sharing  system ·           Time sharing refers to the allocation of computer resources in a time dependent fashion to several program simultaneously ·           A time sharing system has many user terminals that are connected to same computer simultaneously. Using these terminal, different users can work on a system at the same time ·           Thus, it uses multi programming with a special CPU scheduling among all the last one, and then again beginning from the first one ·           In time sharing system, the CPU time is divided among all the users on schedule basis. ·           It release the CPU under any of the following three conditions: 1.         When the allotted time slice expires. 2.    ...

Multitasking System

  Multitasking system ·           Technically , multitasking is same as multi programming ·           In a multitasking operating system, s single user can execute multiple programs at the same time ·           We can also say, multitasking is the system capability to work on more than one job or process at the same time. ·           It means that whenever a job needs to perform I/O operation, the cpu can be used for execting some other job                                                        diagram of multi tasking     ·           There are two type of multitasking : 1.       ...

Multi user Operating System

  Multi user operating system ·           In a multi-user operating system, multiple number of user can access different resources of a computer at a same time. ·           The access is provided using a network that consists of various personal computer attached to a mainframe computer system.                                                              diagram of multi -user operating system       ·           The various personal computer can send and receive information to mainframe computer system. ·           The example    of multi-user OS are UNIX, windows 2000,novell netware.            sing...

Real-time system

  R eal-time system ·           In a real time operating system, a job is to be completed within the    rigid time constraints otherwise job loses its meaning. ·           A real time system function correctly only if it returns the correct result within its time constraints ·           Thus, in a    real-time system, the correctness of the    computation not only depends upon the logical correctness of the computation but also upon the time at which the result is produced. R eal-time system In a real time system various functions like process scheduling, memory management, I/O management and file  management are performed as follows : 1.         Process scheduling  . the real time system uses priority based pre-emptive scheduling. each process is assigned a certain level of ...