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:
- send(message) – message size fixed or variable
- If P and Q wish to communicate, they need to:
- establish a communication link between them
- exchange messages via send/receive
- Implementation of the communication link
- physical (e.g., shared memory, hardware bus)
- logical (e.g., logical properties)
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.
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
✦ 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