Brief Introduction to the Plan-9 Operating System

Plan 9 is a distributed operating system made by Bell Labs. The OS is free and open source. Plan 9 is similar to Unix in some ways, but Plan 9 is meant to be an improvement to Unix and POSIX.

FUN FACT: The mascot for Plan 9 is a rabbit named “Glenda”.

Plan 9 has some features familiar to Unix users. For instance, Plan 9 uses ProcFS and applies the “everything is a file” concept. However, applications from Unix, Linux, and other systems do not work on Plan 9. Some Linux software works on the Linux emulator (linuxemu). Although, the emulator is not yet complete.

The default shell is “rc”. Many of the usual Unix commands (like ls, cp, rm, etc.) can be used. However, despite the same names, the code used to make these commands are entirely different. Plan 9 does not use any GNU software, neither will any work with help from linuxemu. rc is similar to Bash. However, there are some differences. While Bash’s syntax is ALGOL-like, rc uses C-like syntax.

A GUI is also available to Plan 9 named “rio”. rio is a windowing system. rio does not rely on display servers (such as X11). In fact, rio functions as a display server and window manager. rio supports the alpha bit (transparency).

Plan 9 uses a hybrid kernel which has attributes of both monolithic kernels and microkernels. The kernel supports a variety of platforms such as x86, x86-64, MIPS, SPARC, etc.. Plan 9 has also been ported to ARM platforms such as the Raspberry Pi motherboard.

A hybrid kernel has characteristics of both microkernels and monolithic kernels. Inter-Process Communication (IPC), thread management, filesystems, and drivers reside in the kernel space.

Plan 9 is best known for its 9P network protocol. 9P (also called Styx or “Plan 9 Filesystem Protocol”) also serves as a communications protocol between the internal components of the system. The fourth edition of Plan 9 introduced a modified 9P protocol called 9P2000.

FUN FACT: The Styx protocol used in the Inferno operating system is a variant of 9P.

To avoid confusion, it may help to know a little about the Inferno operating system, which is sometimes mistaken as some form of Plan 9. Inferno is a distributed operating system originally made by Bell Labs (like Plan 9), but is now maintained by Vita Nuova. Inferno is neither Unix or POSIX and its primary use is to be a programming environment for the Limbo programming language. Inferno is not a typical operating system. Rather, its kernel is a virtual machine called “dis” that runs on a pre-existing OS (such as Linux, Windows, Plan 9, FreeBSD, etc.).