## Plan 9 Documents (Volume 2)

### Introduction

Plan 9 From Bell Labs [html, ps, pdf]
  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.
The Use of Name Spaces in Plan 9 [html, ps, pdf]
  Rob Pike, Dave Presotto, Ken Thompson, Howard Trickey, and Phil Winterbottom
  What's in a name?
The Organization of Networks in Plan 9 [html, ps, pdf]
  Dave Presotto and Phil Winterbottom
  Connecting the pieces. The details in the paper are outdated but the ideas still apply.
Security in Plan 9 [html, ps, pdf]
  Russ Cox, Eric Grosse, Rob Pike, Dave Presotto, and Sean Quinlan
  An overview of the security architecture.

### Programming

How to Use the Plan 9 C Compiler [html, ps, pdf]
  Rob Pike
  The starting point for C programming under Plan 9.
Changes to the Programming Environment in the Fourth Release of Plan 9 [html, ps, pdf]
  Rob Pike
  An overview of the changes to the C library since the Third Release.
APE - The ANSI/POSIX Environment [html, ps, pdf]
  Howard Trickey
  Moving C code between UNIX and Plan 9.
Acid: A Debugger Built From A Language [html, ps, pdf]
  Phil Winterbottom
  An overview paper about the Acid debugger.
Acid Manual [html, ps, pdf]
  Phil Winterbottom
  The reference manual for the language and its libraries.
Maintaining Files on Plan 9 with Mk [html, ps, pdf]
  Andrew G. Hume and Bob Flandrena
  An introduction to Plan 9's replacement for `make`.
Plan 9 Mkfiles [html, ps, pdf]
  Bob Flandrena
  The conventions for using `mk` in Plan 9.
A Manual for the Plan 9 assembler [html, ps, pdf
  Rob Pike
  Things you'd rather not know.

### User Interfaces

8½, the Plan 9 Window System [html, ps, pdf]
  Rob Pike
  An introduction to the (previous) window system and its unusual implementation.
Rc - The Plan 9 Shell [html, ps, pdf]
  Tom Duff
  An introduction to the new shell, complete with examples.
The Text Editor `sam` [html, ps, pdf]
  Rob Pike
  `Sam` is the standard editor on Plan 9.
Acme: A User Interface for Programmers [html, ps, pdf]
  Rob Pike
  A system with a more radical approach to programming and editing.
Plumbing and Other Utilities [html, ps, pdf]
  Rob Pike
  Inter-process communication that enlivens the interactive user interface.

### Implementation

Hello World [html, ps, pdf]
  Rob Pike and Ken Thompson
  The details about Plan 9's character set: the Unicode Standard plus an ASCII-compatible encoding.
Plan 9 C Compilers [html, ps, pdf]
  Ken Thompson
  The design and some internals of the compiler suite.
Adding Application Support for a New Architecture in Plan 9 [html, ps, pdf]
  Bob Flandrena
  The procedures necessary to add a new instruction set to Plan 9's programming environment.
The Plan 9 File Server [html, ps, pdf]
  Ken Thompson
  The design of the central file server and its novel backup system.
Venti: A new approach to archival storage [html, ps, pdf]
  Sean Quinlan and Sean Dorward
  Archival block-level storage using secure hashes as block identifiers.
The IL protocol [html, ps, pdf]
  Dave Presotto and Phil Winterbottom
  A description of the Internet protocol Plan 9 uses for internal communication.
Lexical File Names in Plan 9, or, Getting Dot-Dot Right [html, ps, pdf]
  Rob Pike
  A vexing old problem solved: how to make `pwd` get the right answer in the face of multiply-bound directories.
Process Sleep and Wakeup on a Shared-memory Multiprocessor [html, ps, pdf]
  Rob Pike, Dave Presotto, Ken Thompson, and Gerard Holzmann
  A detailed study of a central issue in the Plan 9 kernel.

### Miscellany

A Guide to the Lp Printer Spooler [html, ps, pdf]
  Paul Glick
  Adminstering the suite of tools to drive PostScript printers.
Troff User's Manual [html, ps, pdf]
  Joseph F. Ossanna and Brian W. Kernighan
  The old warhorse, updated for Unicode characters. .bp
Using SPIN [html, ps, pdf]
  Gerard Holzmann
  An introduction to a tool for analyzing parallel and distributed programs.

### Installation

The Various Ports [html, ps, pdf]
  The hardware requirements for the Plan 9 compilers and kernels.