Learning path

Full curriculum

Full curriculum

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.