How processes talk to each other. Implement pipes, shared memory, message queues, signals, and synchronization primitives.