What is Inter-Process Communication? and What are the approaches used in IPC?

On 27 Apr., 2021

Do you want to learn about intern process communication. Read this complete article to learn about it

What is Inter-Process Communication? and What are the approaches used in IPC?

IPC is an abbreviation of Inter-Process communication, used for data exchange between multiple threads on either single or multiple computers which are connected by a network.


An IPC enables a coder to coordinate activities between different processes running in an operating system. It enables a specific program to handle different user requests at one time.


Approaches for Inter-Process Communication:

IPC uses the following methods in the whole process:


Message Passing:

It is a phenomenon of communication and synchronization. It enables the process of communication with each other without resorting to shared variables. Thus, it enables sending and receiving messages operations.


Message Queues:

It is a linked list of messages stored within the kernel. A Message queue can be determined by a message queue identifier. This method provides communication between single or multiple processes with full-duplex capacity.



This is the most commonly used method of communication between two related processes. It fits into the definition of a half-duplex. It implies that whenever the first process communicates with the second process a second pipe is needed for achieving full-duplex.


Indirect Communication:

Indirect communication is the phenomenon when processes share the same mailbox with each pair of processes and share different communication links. A link may be unidirectional as well as bidirectional.



Direct Communication:

This is a type of interprocess communication, a link is established between one pair of communicating processes, and between each pair a single link exists.




FIFO is a full-duplex method. Hence, the first process may communicate with the second process or vice versa. FIFO is the communication between the two unrelated processes.


Shared Memory:

It is a type of memory that needs protection from each other by synchronizing access to all processes. It is a memory between two or more processes that are built with shared memory. 



Why inter-process communication protocol?

The reasons to choose IPC protocols are multiple including conveniences, computational capabilities. Privilege separation. Moreover, it helps in speeding up modularity and communication with each other by synchronization of actions. 


Terminologies in IPC:

Semaphores and Signals are the most important terms used in IPC. ‘Signals’ is a method to communicate between various processes. Source sends a signal which is recognized as a number and the receiver handles it. On the other side, Semaphores is a signaling mechanism, a technique that enables or disables access to the resource.


Cisco's unified communications operating system is also based upon the same approaches as defined above. These approaches are the techniques that help in communication with the operating system.