What is inter-process communication(IPC) in operating-system ?

Inter-process Communication (IPC)

Inter-process Communication (IPC)

Inter-process Communication is a mechanism for processes to communicate and to synchronize their actions. Message system – processes communicate with each other without resorting to shared variables.

  • IPC facility provides two operations:
    1.  send(message) – message size fixed or variable
    2.  receive(message)
  • If P and Q wish to communicate, they need to:
    1.  establish a communication link between them
    2.  exchange messages via send/receive
  • Implementation of the communication link
  1.  physical (e.g., shared memory, hardware bus)
  2.  logical (e.g., logical properties)

Direct Communication

Processes must name each other explicitly:

send (P, message) – send a message to process P

receive(Q, message) – receive a message from process Q Properties of the communication link

✦ Links are established automatically.

✦ A link is associated with exactly one pair of communicating processes.

✦ Between each pair, there exists exactly one link.

✦ The link may be unidirectional but is usually bi-directional.

Indirect Communication

Messages are directed and received from mailboxes (also referred to as ports).

✦ Each mailbox has a unique id.

✦ Processes can communicate only if they share a mailbox.

Properties of the communication link

✦ Link established only if processes share a common mailbox

✦ A link may be associated with many processes.

✦ Each pair of processes may share several communication links.

✦ A link may be unidirectional or bi-directional.


✦ create a new mailbox

✦ send and receive messages through the mailbox

✦ destroy a mailbox

Primitives are defined as:

send(A, message) – send a message to mailbox A

receive(A, message) – receive a message from mailbox A


Mailbox sharing

P1, P2, and P3 share mailbox A.

P1 sends; P2 and P3 receive.

✦ Who gets the message?


✦ Allow a link to be associated with at most two processes.

✦ Allow only one process at a time to execute a receive operation.

✦ Allow the system to select arbitrarily the receiver. A sender is notified who the receiver was.


Also Read:- the difference between process and thread

Also Read: What is a process in Operating System

Leave a comment

Your email address will not be published. Required fields are marked *