Inter-Process Communication : Cooperating processes can communicate in a shared-memory environment. Cooperating processes communicate with each other via an Inter-Process-Communication (IPC) facility.
IPC provides a mechanism to allow processes to communicate and to synchronize their actions. Inter-Process Communication is best provided by a Message System. Message System can be defined in many different ways. An IPC facility provides at least the two operations – send(message) and receive(message).
Direct Communication : In the Direct Communication, each process that wants to communicate must explicitly name the recipient or sender of the communication. In this scheme, the send and receive primitives are defined as follows :
Send (P, message) – Send a message to process P.
Receive (Q, message) – Receive a message from process Q.
Indirect Communication : With Indirect Communication, the messages are sent
to and received from mailboxes. A mailbox can be viewed abstractly as, an object into which messages can be placed by processes and from which messages can be removed. The send and receive primitives are defined as follows :
Send (A, message) – Send a message to mailbox A.
Received (A, message) – Receive a message from mailbox A.