Plan 9 University

GOAL

Basic idea is to create a series of short (~10 minutes) well-edited tutorial introductions to Plan 9 as well as short talks on underlying philosophy and design principles. The idea is to follow the example of the (better) Google Code YouTube videos and provide a path for folks to learn a bit more about Plan 9. The idea is to mix lecture, screen videos, and discussion to hopefully encourage more of an interactive experience.

CONCEPTS

  • Overview - General overview of the system and concepts
  • File Servers - The use of synthetic file servers in Plan 9
  • Namespace - The use of Namespaces in Plan 9
  • Networks - The Organization of Networks in Plan 9

GETTING STARTED

  • Installation - installing and starting Plan 9
  • Window Manager
  • Basic Enviornment
  • SAM
  • ACME
  • Configuring a stand-alone system
  • Configuring a stand-alone cpu server

USING PLAN 9

  • RC shell
  • Plumbing
  • Network operations
  • Staying up to date
  • Setting up and using Venti
  • Authentication

APPLICATION PROGRAMMING

  • Hello World
  • mkfiles
  • Plan 9 C Compiler
  • Debugging with Acid
  • Multithreaded
  • Graphics
  • Contributing code back
  • Using Patch

PROGRAMING CONCEPTS

  • Constructing services as file systems

FILE SYSTEMS PROGRAMMING

  • Overview
  • Flat Synthetic File Servers
  • Hierarchical Synthetic File Servers
  • Dynamic Synethetic File Servers (ramfs)
  • Clone File Servers

KERNEL PROGRAMMING

  • Overview of kernel source tree and build environment
  • Writing a simple character device driver
  • Writing a network driver
  • Writing a graphics driver

OTHER SYSTEMS

  • Drawterm
  • Plan 9 Ports
  • 9VX
  • Inferno (probably needs its own similar set of topics)