A sample text widget

Etiam pulvinar consectetur dolor sed malesuada. Ut convallis euismod dolor nec pretium. Nunc ut tristique massa.

Nam sodales mi vitae dolor ullamcorper et vulputate enim accumsan. Morbi orci magna, tincidunt vitae molestie nec, molestie at mi. Nulla nulla lorem, suscipit in posuere in, interdum non magna.

What is meant by Inter – Process communication?

– During execution in multiprocessor systems or systems using multi–threading technology, processes and threads often need to communicate with each other.
– They require for maintaining synchronization i.e., they need to know how much each other have accomplished.
– If the operating system allows these threads and processes to communicate, they would crash or hang the system or even put it in to a deadlock.
– That’s why operating systems never let two processes communicate directly.
– For safe communication between the processes, operating systems has its own special mechanism called the inter–process communication.
– Even though it is indirect, it makes the communication between the two processes quite safe and predictable.
– However, this capability is not supported by all of the operating systems.
– Only some of the operating systems have this capability of supporting the communication between the processes.
– These processes might be executing on the same system or they may be on remote hosts connected through a network.
– The inter process communication in short is known as IPC.
– Through inert – process communication one application can explicitly control the other one.
– It even lets different process share the common resources or data without interfering in to each other’s work.
– The single processor operating systems do not usually support this mechanism such as the DOS.
– However, operating systems such as the MS Windows and the OS/ 2 come with support for the IPC mechanism.
– This mechanism is known as the DDE.
– There is a frequent need for the processes to communicate with each other, for example in the shell pipeline.
– Here, the output from first process is passed on to the second, from second to third and the chain goes on.
– This cannot be done every time using the interrupts since that will be so unstructured.
– Therefore, we used a well-structured way i.e., the IPC.
– If the processes are running on two different systems and both have different operating systems, then a mediator has to be used.
– These mediators are usually the protocols.
– Operating systems provides other facilities for inter – process communication such as the shared memory, message queues, and semaphores and so on.
– These resources are used by the distributed systems for proving the API (application interface programming).
– This allows programming of the IPC at a high level of abstraction.
– In distributed systems, IPC is also required for the exchange of the info among the processes that are independent.
– In these systems, the processes that want to engage in IPC must commit to using a protocol for which they all should agree.
– A process may be either a sender or a receiver or both.
– When only one process sends info to another one process, then this is called a unicast IPC or if one process sends to a group of processes, it is called a multicast IPC.
– In IPC the following operations are involved:

  • Receive
  • Connect
  • Send
  • Disconnect

– For inter process communication synchronization of the operations of the two processes is very much required.
– The send operation commences before the receive operation.
– Synchronization is not possible without system support.
– IPC also provides synchronization using the blocking technique.
– This blocks the further processing until the completion of the operation.
– IPC may also provide non-blocking or asynchronous operations.
– These operations do not block processing rather it is free to process.
– Upon the completion of the operation, the process is notified.
– If the inter process communication mechanism issues the blocking operations in a wrong sequence, they can put the processes in to a deadlock.
– And deadlocks are not at all desirable.
– For detecting potential deadlocks, time out can be used.
– When an IPC programming interface is being used, it is useful to notice whether the operations taking place are asynchronous or synchronous.
– If the IPC provides only one blocking operation, then the responsibility of using the threads or the child processes is of the user if he/ she desire asynchronous operations.

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>