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.