This is not the current version of the class.

Processes 3: Inter-process communication

Overview

In this lecture, we discuss the primary system calls shells use to arrange inter-process communication.

Full lecture notesTextbook readings

API design

Plumbing

Plumbing goal

Plumbing API

Primary process control system calls

Primary IPC system calls for shells

The pipe system call

pipe illustration

Before pipe
After pipe

selfpipe

About pipes

Pipe buffering

childpipe

Pipe end-of-file

Pipes and the shell

Full pipeline

Problem: How to move file descriptors around?

Initial shell
After pipe system call
Full pipeline

dup2

Pipe dance

Full pipeline

Pipe dance explained