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

Multi processing system

  Multi processing system ·           Multi processesor system is the sytem that contain two or more processors or CPUS and has ability to simultaneously execute     several programs. Hence the name multi-processor In such a system, multiple processor share the clock, bus, memory and peripheral devices. ·           A multi processor system is also known as parallel system ·           Multi processor system are categorized into two different types:                single user operating system    2.        Multi user operating system   3.         Batch processing operating system 4.        Multi programming operating system   5.       Multi tasking operating sy...

Batch Processing Operating System

  Batch processing system ·           Batch processing is one of the oldest method    of running the programs ·           The computer in the past were very large in size and their I/O devices were very different from those that are used today. The job processing was not interactive as it is today. ·           The user did not interact directly with computer system.   ·           The process scheduling , memory management, file management and I/Omanagement functions are quite simple in batch processing system   1.         Process scheduling (i.e. allocation strategy for a processor is typically in order of their arrival i.e. first come first served(FCFS)basis.   2.         Memory management  is done by divi...

Virtual Machine Architecture

  Virtual Machine Architecture A virtual machine can exist as a standalone machine or it can exist within a vApp. A virtual machine is a software computer that, like a physical computer, runs an operating system and applications. The virtual machine consists of a set of specification and configuration files and is backed by the physical resources of a host. Every virtual machine has virtual devices that provide the same functionality as physical hardware are more portable, more secure, and easier to manage. Virtual machines can be standalone, or they can exist within a vApp. A vApp is compound object composed of one or more virtual machines as well as one or more networks. 1.    Monolithic architecture 2.     Layerd archtecture . 3.     Virtual machine architecture 4.       Exokernel architecture 5.      Client server architecture   6.       Micro kernel architecture The following figure ...

Exokernel architecture

Exokernel architecture Most of us know what kernels are and how do they work to make programmers’ lives easier. But, how many of us know what exokernels are? I hope you will be able to get a brief introduction on this terminology through this blog. Let’s start with a brief introduction on kernel. What is a kernel? A kernel is the foundational layer of an operating system that functions at a basic level, communicating with hardware and managing resources, such as CPU and the memory. It works as an interface between the user application and the hardware. There   are two main types of kernel 1. Micro kernel 2. Monolithic Kernel 1.  Monolithic architecture 2.      Layerd archtecture . 3.       Virtual machine architecture 4.       Exokernel architecture 5.      Client server architecture   6.       Micro kernel architecture Now let’s head into our main focus. What is an Exokern...

Multi threading operating system

  Multi threading  operating system ·           Multi threading is a technique in which a process, executing an application is divided into threads that can run concurrently ·           A thread is a dispatch able unit of work. It includes    a processor context and its own data area for sack . ·           A thread execute sequentially and is interruptible so that the processor can turn to another thread. ·           Thus, a thread represents a light weight process and is the smallest unit of CPU utilization it is like a mini process. ·           A process, on other hand is a collection of one or more threads and associated system resources ·           A thread is not a process by itself. Cannot run on...