futility(1) An idiot admires complexity

Plan 9 — The Documents (Volume 2)


Rob Pike, Dave Presotto, Sean Dorward, Bob Flandrena, Ken Thompson, Howard Trickey, and Phil Winterbottom

An overview of the system; read at least this paper before you install.

Rob Pike, Dave Presotto, Ken Thompson, Howard Trickey, and Phil Winterbottom

What’s in a name?

Dave Presotto and Phil Winterbottom

Connecting the pieces. The details in the paper are outdated but the ideas still apply.

Russ Cox, Eric Grosse, Rob Pike, Dave Presotto, and Sean Quinlan

An overview of the security architecture.


Rob Pike

The starting point for C programming under Plan 9.

Rob Pike

An overview of the changes to the C library since the Third Release.

Howard Trickey

Moving C code between UNIX and Plan 9.

Phil Winterbottom

An overview paper about the Acid debugger.

Phil Winterbottom

The reference manual for the language and its libraries.

Andrew G. Hume and Bob Flandrena

An introduction to Plan 9’s replacement for make.

Bob Flandrena

The conventions for using mk in Plan 9.

Rob Pike

Things you’d rather not know.

User Interfaces

Rob Pike

An introduction to the (previous) window system and its unusual implementation.

Tom Duff

An introduction to the new shell, complete with examples.

Rob Pike

Sam is the standard editor on Plan 9.

Rob Pike

A system with a more radical approach to programming and editing.

Rob Pike

Inter-process communication that enlivens the interactive user interface.


Rob Pike and Ken Thompson

The details about Plan 9’s character set: the Unicode Standard plus an ASCII-compatible encoding.

Ken Thompson

The design and some internals of the compiler suite.

Bob Flandrena

The procedures necessary to add a new instruction set to Plan 9’s programming environment.

Ken Thompson

The design of the central file server and its novel backup system.

Sean Quinlan and Sean Dorward

Archival block-level storage using secure hashes as block identifiers.

Dave Presotto and Phil Winterbottom

A description of the Internet protocol Plan 9 uses for internal communication.

Rob Pike

A vexing old problem solved: how to make pwd get the right answer in the face of multiply-bound directories.

Rob Pike, Dave Presotto, Ken Thompson, and Gerard Holzmann

A detailed study of a central issue in the Plan 9 kernel.


Paul Glick

Adminstering the suite of tools to drive PostScript printers.

Joseph F. Ossanna and Brian W. Kernighan

The old warhorse, updated for Unicode characters.

Gerard Holzmann

An introduction to a tool for analyzing parallel and distributed programs.


The hardware requirements for the Plan 9 compilers and kernels.