A Day with Plan9

Today is another day of alternative operating system testing for me. First on the list is Plan9. This is one of those ahead of its time operating systems developed at the venerable Bell Labs. This system was started in the 1980s and was first released in 1992. So, it is a pretty old operating system.

Plan 9 demonstrates a new and often cleaner way to solve most systems problems. The system as a whole is likely to feel tantalizingly familiar to Unix users but at the same time quite foreign.

In Plan 9, each process has its own mutable name space. A process may rearrange, add to, and remove from its own name space without affecting the name spaces of unrelated processes. Included in the name space mutations is the ability to mount a connection to a file server speaking 9P, a simple file protocol. The connection may be a network connection, a pipe, or any other file descriptor open for reading and writing with a 9P server on the other end. Customized name spaces are used heavily throughout the system, to present new resources (e.g., the window system), to import resources from another machine (e.g., the network stack), or to browse backward in time (e.g., the dump file system).

I just downloaded the Plan9 CD distribution and gave it a spin. Ok, it is really not very pretty. Here are a few system notables.

  • GUI display does not function well under VMWare. I tried installing Plan9 over VMWare on my system. I get some screen clunkiness. The highlighted windows does not display text properly. So I just typed in none for mouse, resolution and monitor. This way it dumped me into a nice familiar command line.
  • Crude User Interface. The current Plan9 user interface is pretty crude. It looks like the good ole ’sh’ in Unix. No auto-complete, command history and other niceties. So, don’t count on this being a general Unix workstation for now. Well, unless you can live with FTP and text editor (sam). Yes no vi!
  • Limited Tools. It does not have full fledged web browser. The next best thing is hget (third party packages like charon and abaco can also be used). Your best bet for word processing is troff.
  • Full Path Unix-looking File Systems.. Plan 9 uses the Unix/Linux forward slash directory separation. It also uses Unix-style mounting. So this is one thing that looks familar.
  • Networking is pretty easy to configure. With just two commands “ip/ipconfig” and “ndb/dns -r” and I have networking up. “hget” works pretty much like “wget” for your web surfing needs.
  • Man pages are still formatted with Troff. This is one more familiar thing with Plan 9. But, it does not have a pager like less or more.
  • Everything is a server. This is a really cool feature. For example, when adding and deleting users, an entry must be added into the file server first. The file server is responsible for information storage instead of a file system. After that, users are then added to an authentication server. The system takes micro kernel architecture to the next level by distributing major components into separate servers. File system is distributed from the start with file servers. I configured a Fossil server from the installation CD and booted both on VMWare. It works pretty much as expected.

Although, Plan9 is primarily a research and development operating system. It does have some key features that make it very interesting in the future. The key feature of Plan9 is its truly micro kernel architecture. The entire operating system can access resources from multiple distinct machines. These resources can be CPU, memory and disk. It can spawn user interfaces into separate machines. This is basically Plan9’s main strength: a truly distributed operating system.

Note: Didn’t you notice the Lucent ring looks The Ring?

Leave a Reply