Unit content
Interprocess communication
Processes normally have isolated address spaces, so one process cannot simply read or write another process's ordinary private variables. Interprocess communication (IPC) provides explicit mechanisms for exchanging data or notifications across that isolation boundary.
Message and stream communication
Pipes expose an operating-system-managed byte stream. Message queues preserve explicit message boundaries. Sockets provide a common interface that can communicate locally or across a network.
These approaches move information through an explicit communication channel rather than making ordinary process memory shared.
Shared memory
The operating system can map the same physical pages into several processes. Shared memory avoids copying large payloads through a stream, but the processes must then synchronize concurrent access themselves.
Two broad models
IPC therefore exposes a central design trade-off:
message passing → stronger ownership/isolation, explicit transfer
shared memory → cheap shared access, explicit synchronization
The mechanism alone is not the full contract. Applications must also define message format, ownership, failure behaviour, synchronization and lifecycle.