Skip to main content

Direct Communicationand Indirect communication

 

Direct Communication

·         Direct communication establishes a link between two processes. A communication link is a unidirectional path along which information flows.

·         two processes use single communication link to share information.

·         In this  metod, there cannot be more that one link between two processes


                                                    direct communication


·         Send and receive function used in direct communication are given below :

·         Send(process name , message ,(receive(process name , message)

            Send(A, message )- send a message to process A

            Receive(A, message )-receive a message from process B


Indirect communication

·         In indirect communication , no direct communication link exists between two processes.

·         In this , messages are sent to and received from mailbox.

·         A mailbox is a specialized repository where message can be placed by processes and from which message can be  removed .

·         In direct communication , more than two processes can shares a mailbox.

·         No communication , more than two processes is possible if they do not share a mailbox.

·         Each mailbox has a unique identification.

                                                          indirect communcation


·         A process can communicate with some with other process via a number of different mailbox.

·         The send and receive primitives in indirect communication are:

                 Send(mailbox,message)and receive(mailbox,message)

                Send(P,message)-send a message to mailbox P

                Receive (P,message)-receive a message from mailbox P

·         A strength of the use of indirect addressing is that , by decoupling other sender and receiver , it allows for greater flexibility in the use of messages.

·         The relationshipbetween sender and receiver processes can be one to one and many to one , one to many or many to many

·         A oneto-one relationship allows a private communication link to be set up between two processes .in such a way , the interaction between these two processes is insulted from erroneous interfaces from other processes.

·         A many-to-many relationship is used In client/ server interaction . one process provide service to number of other processes .in such a case , mailbox is called as port.

·         A one-to-many relationship allows for one sender and multiple receive processes .it is useful for application where a message or some information is to be broadcast to set of processes.

·         A mailbox may be owned either by a process or by the operating system.

 


Comments

Popular posts from this blog

OS its Resource Manager and its Function

  Operating system as resource manager:   ·           A computer system usually has many hardware and software resources such as processor , memory, disk printer, I/O devices etc. ·           The task of resources management becomes essential in multi-user operating system where different user compute for the same resource.   Operating system manages resources in two ways : 1.         Time multiplexing : it defines the sharing of resources on the basis of fixed time slices. For example, the operating system allocate the resources, such as CPUto program A for fixed time slice. 2.         Space timing:  it defines the concurrent sharing of resources among different programs.for example, sharing of hard disk and main memory is space multiplexing.     FUNCTION OF OPERATING SYSTEM     The primar...

Monolithic Architecture

  Monolithic Architecture Monolith means composed all in one piece. The  Monolithic  application describes a single-tiered  software  application in which different components combined into a single program from a single platform. Components can be: Authorization — responsible for authorizing a user Presentation — responsible for handling HTTP requests and responding with either HTML or JSON/XML (for web services APIs). Business logic — the application’s business logic. Database layer — data access objects responsible for accessing the database. Application integration — integration with other services (e.g. via messaging or REST API). Or integration with any other Data sources. Notification module — responsible for sending email notifications whenever needed. Example for Monolithic Approach Consider an example of Ecommerce application, that authorizes customer, takes an order, check products inventory, authorize payment and ships ordered products. This applicat...

Suspend a process

  Suspend a process A process is an active program. It can also be said as a program that is under execution. It is more than the program code as it includes the program counter, process stack, registers, program code etc. Compared to this, the program code is only the text section. A process passes through different states as it executes. These states may be different in different operating systems. However, the common process states are explained below with the help of a diagram − New This is the state when the process has just been created. It is the initial state in the process life cycle. Ready In the ready state, the process is waiting to be assigned the processor by the short term scheduler, so it can run. This state is immediately after the new state for the process. Ready Suspended The processes in ready suspended state are in secondary memory. They were initially in the ready state in main memory but lack of memory forced them to be suspended and gets placed in the second...

Layered Operating System

  Layered Operating System Layered Structure is a type of system structure in which the different services of the  operating system  are split into various layers, where each layer has a specific well-defined task to perform . It was created to improve the pre-existing structures like the Monolithic structure ( UNIX ) and the Simple structure ( MS-DOS ). Example –  The Windows NT operating system uses this layered approach as a part of it . Design Analysis : The whole Operating System is separated into several layers ( from 0 to n ) as the diagram shows. Each of the layers must have its own specific function to perform. There are some rules in the implementation of the layers as follows. The outermost layer must be the User Interface layer. The innermost layer must be the Hardware layer. A particular layer can access all the layers present below it but it cannot access the layers present above it. That is layer n-1 can access all the layers from n-2 to 0 but it canno...

Scheduler

  Scheduler   Scheduling Objectives Here, are important objectives of Process scheduling Maximize the number of interactive users within acceptable response times. Achieve a balance between response and utilization. Avoid indefinite postponement and enforce priorities. It also should give reference to the processes holding the key resources  Process Scheduling handles the selection of a process for the processor on the basis of a scheduling algorithm and also the removal of a process from the processor. It is an important part of multiprogramming in operating system. Process scheduling involves short-term scheduling, medium-term scheduling and long-term scheduling. Details about these are given as follows − Long-Term Scheduling Long-term scheduling involves selecting the processes from the storage pool in the secondary memory and loading them into the ready queue in the main memory for execution. This is handled by the long-term scheduler or job scheduler. The long-term s...