3 lessons
Pipes and shared memory — two ways for processes to talk
Since processes don't share memory by default, how do they exchange data at all? Two founding approaches, and the real trade-off between them.
Message queues, sockets, and signals
Three more ways processes talk — structured mailboxes, network-style connections, and one-bit emergency alarms.
Client-server IPC and remote procedure calls
How IPC scales up into the client-server model, and the elegant trick of making a call to another process feel like an ordinary function call.