Interprocess communication

Required reading: Chapter 13 and 21

Overview

Address spaces isolate programs from each other. However, often a program needs to communicate with another program in another address space (e.g., sending a message to a server, the output of one program is the input to another program, or to coordinate execution order). Lecture today is about various approaches to communication between programs.

Interprocess communication involves two operations:

  1. Moving data from one address space to another
  2. Transfering control from one address space to another
Both operations have to be done in controled manner: we don't want the sender to write in an arbitrary place in the receiver's address space or jump to an arbitrary location in the receiver's address space.

How can processes communicate in UNIX v6?

V6 code examples