Plan 9 is a research operating system from Bell Labs. For several years it was my primary environment and I still use it regularly. Despite its conceptual and implementation simplicity, I’ve found that folks often don’t immediately understand the system’s fundamentals: hence this series of articles.
Bookmark this website, folks.
I cite plan9 as how things should have been because of how consistently it was engineered. In unix sometimes we say “everything is a file”, but in plan9 we actually mean it; it’s consistent through and through.
In Unix/Linux, procfs is a notorious kitchen sink of processes and totally unrelated things. Kernel functionality is exposed by syscalls, ioctrls, sysfs, procfs. To manipulate a device setting, it’s not at all obvious whether it is exposed through a special syscall, or an ioctrl on a file handle from “/dev/…”, or as a write operation in either /proc or /sys. Block devices were blessed with a namespace in /dev, but network devices are not.
It all works of course, but the inconsistencies leave a lot to be desired. Here’s an insightful paper about it. I disagree with the author’s theme that “plan9 is not dead yet”, but that may have been sarcastic reference to Monty python.
http://www.cs.unm.edu/~fastos/05meeting/PLAN9NOTDEADYET.pdf
Plan9 consistency leads to some pretty spectacular capabilities, like exporting a device to another machine without having any special kernel drivers to emulate remote devices. This is stuff I wish could be done transparently on linux.
Unfortunately Plan9 never really had any market relevance. Even though it’s a historical relic, I often wish that indy os efforts could push back in that direction instead of striving to reimplement posix all the time. It just feels like a mono-culture.
The one thing that grated with me was that in order to use the editor, you had to use a mouse.
I found that rather un-UNIX-like and irksome. But maybe that’s just me.
shakeshuck,
Many years ago when I was playing around with it, I wasn’t a big fan of the GUI either.
http://nixon-development.com/guis/plan9.html
For me, plan9 was more interesting under the hood. But maybe with a better GUI plan9 could have gotten more attention? I kind of doubt it would have made much of a difference though.
Edited 2016-05-26 18:38 UTC
I agree, the GUI wasn’t its raison d’etre; it was of course the stuff underneath that was more important. …But at the same time when that one minor niggle is something you have to use all the time to get anything done…!
There is this misconception that Plan 9 was ever intended to be a commercial operating system and that if only they did “this” or “that” it would have been mainstream. Plan 9 is a research OS like Unix originally was. The difference with Plan 9 was that we already had Unix. I love Plan 9. I think it is a great little system for some things but let’s be honest, it was never going to be some commercial desktop or server system. I’m thinking of using it for a project because of it’s clustering abilities which is where it really shines.
Edited 2016-05-26 18:51 UTC
Any group injecting new life in this long orphaned project?
Consistency is always supporting of usability.
Dan Cross from http://pub/gajendra.net [google site account] present himself as a supporter of IT minimalism, which many of Us are endorsers.
Like his Site, which is -of course- also minimalist
“Lisp is singularly powerful because of it’s ability to manipulate itself*, and this makes it wonderfully expressive.”
*[as life -and make of it a hell to mathematically validate-]
Nice reading indeed, and bookmarked!
Thanks.