Pipes

A pipe acts as a conduit allowing two processes to communicate. Pipes were one of the first IPC mechanisms in early UNIX systems and typically provide one of the simpler ways for processes to communicate with one another, although they also have some limitations. In implementing a pipe, four issues must be considered:
  1. Does the pipe allow unidirectional communication or bidirectional communication?
  2. If two-way communication is allowed, is it half duplex(data can travel only one way at a time) or full duplex(data can travel in both directions at the same time)?
  3. Must a relationship(such as parent-child) exist between the communicating processes?
  4. Can the pipes communicate over a network, or must the communicating processes reside on the same machine?

Ans 1

Ordinary pipes are unidirectional, allowing only one-way communication.
If two-way communication is required, two pipes must be used, with each pipe sending data in a different direction.