Driving Plan 9
Glenda_lives_on writes "OSnews has an alternative OS review on Plan 9. Plan 9 is a research OS produced by Bell Labs. It was open sourced a few years back, and has enjoyed a revival of sorts. Los Alamos National Labs is continuing to favor Plan 9 for their new generation of super computing because its the fastest thing out there. I have downloaded and ran Plan 9 before. In fact the Plan 9 live cd sits here on my desk. Its not an operating system for noobs however, and lacks some graphical refinement. Plan 9 is a very cool and a interesting test drive however. Its definitely worth the price of admission (free) for exploring, and education."
Were Plans 1-8 "not entirely successful?"
"You see! You see! Your stupid minds! STUPID! STUPID!"
If Nalgene water bottles are outlawed, only outlaws will have Nalgene water bottles.
Before y'all go pulling down the ISO to try it out, the mirrors are listed at http://netlib.bell-labs.com/wiki/plan9/Mirrors/ind ex.html .
Plan 9 is a reference to the Ed Wood movie, Plan 9 from Outer Space, often regarded as the worst movie of all time. Aliens raise the dead to finally prove to humans that they exist (because that's certainly the most obvious, effective way to do it).
I've never used it, but Plan 9 offers a radically different archival storage system called Venti.
Basically it never deletes old blocks of data from the server. Blocks are write-once, identified by a really large hash (collisions are so improbable that the possibility can be totally ignored). This allows you to copy lots of redundant data to the server (such as periodic backups) without worrying about the storage space. If the blocks were ever copied there before and they have not changed, they won't take up any space!
man page != implementation
http://cm.bell-labs.com/magic/man2html/1/emacs
NAME
emacs - editor macros
SYNOPSIS
emacs [ options ]
DESCRIPTION
This page intentionally left blank.
SOURCE
MIT
SEE ALSO
sam(1), vi(1)
BUGS
Yes.
Copyright © 2006 Lucent Technologies. All rights reserved.
and vi(1) isn't what you might think either
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
What is this, digg?
"A week in the lab saves an hour in the library"
The "everything is a file" metaphor of Unix was revolutionary at the time, and Plan 9 taking it a little further really does little to advance the state of the art.
What was good about the "everything is a file" metaphor was not the "file" part, but the "everything is a...." part.
What would really advance the state of the art is an "everything is an object" operating system. It would be something like a Lisp OS but with an object database type file system. I think some have existed in academia, but I've never looked into them.
The review is not so great in terms of accuracy i.e. there is no emacs (check out acme, sam, ed, and smacme instead) and the 640x480 resolution is nonsense. 9fans certainly isn't so grateful about this review.
Check out the Plan 9 documentation if you are interested in understanding Plan 9.
Plan 9 from Bell Labs.
"Plan 9 from Bell Labs" is the proper name of the OS.
/n/ftp
Plan 9 is now community driven, albiet from a small community, mostly the same people that have been there all along.
It has USB sound support and AC97 support is a new one on me.
I use it still because the user environment is the best one I have encountered for text editing and interecting with the shell. Most users use VNC to get to their X11/Windows desktops where their web browser lives.
Building a web browser from scratch is one of those never ending tasks that frankly, just isn't worth your while. That said there is Mothra - no tables, no css, no frames etc. that Tom Duff (yes that Tom Duff) wrote many moons ago and one of the community is beavering away at his project Abaco and has moderate success.
One of the main tenets to Plan 9 is "everything is a file" and the system is built around the notion of a distributed name space in the shape of a directory tree rather than being a reflection of the disk contents. The canonical example of this is ftps where the remote ftp site is presented as a directory tree at
Name spaces are process independent so you can build them per process which feels a bit like chrooting.
Exporting a name space is part of the deal, this presents many gifts that were not deliberately shoe-horned in such as remote step debugging across architectures, sending sound to a remote soundcard, importing a remote machine's network stack instead of using a gateway (including non-plan9 machines via ssh), importing remote filesystems (including non plan 9 machines). All this is facilitated by the 9p protocol.
As a micro/macro kernel hybrid all this is achieved in just 37 syscalls which is a source of amusement and a feeling of superiority when compared to Linux' 300+ (so many they are not even enumerated any more).
Linux is derided in the mailing list ("For amateurs, by amateurs") as well as the failings of the other braindead OSes we have to deal with ("If only they did it like us").
Linus has stopped by in 9fans to whine on about stuff and was seen off, Theo wanted our compilers when he didn't want the license (as imposed by Lucent lawyers) but since they have been dual licensed we've not seen him around.
Inferno isn't plan 9, it's another product built on similar principles that was sold off by Lucent.
Lucent's management of Plan 9 in hindsight could have prevented adoption when it was crucial - it was $300 per copy prior to v. 3 and once a free download had a "copies of all modifications must be sent to Lucent" clause and other annoying restrictions in it. These have been lifted now but they boat could already have sailed.
The notion of distributed computing has gained ground in recent times and Plan 9 could have been at the forefront with distributed computing being built in from the start.
All that said, Plan 9 was never intended as anything more than an experiment and some ideas have slowly crept into other products (or possibly independently invented) - notably Windows XP presenting their stuff as files/folders, ftpfs in Linux, single sign-on.
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
First of all there is Charon from Inferno. It supports html, EMCAScript (1.1 IIRC), CSS, DOM (level 1 IIRC) and https. (See screenshot however this one is a bit outdated)
Abaco is the most actively developed Plan 9 web browser. It supports most of html. DOM level 3 development has been started. Mozilla's Javascript engine has been ported to Plan 9 and can be used today for a Javascript shell. This will provide abaco with Javascript in the future. Work on CSS has started but I do not know what has been done or where it is heading. Abaco has been ported to Linux and friends via Plan 9 from Userspace. Package managers are encouraged to make packages of abaco for their systems. (See screenshot)
Then there are webpage, links, mothra, and htmlfmt.
Finally there are text web browsers for acme (htmlfmt for Plan 9 and see this for Inferno)
In other news, SDL now works on Plan 9.
Plan 9 from Bell Labs.
There is APE for POSIX support. And linuxemu for emulating linux binaries.
.Net and Java virtual machines which are stack based Dis is register based. This allows it to run on bare hardware and doesn't require a (according to some heavyweight) operation to translate it from stack to register. Dis provides virtually infinite registers like Parrot. For more information read Pike's paper, The design of the Inferno virtual machine.
I personally have not checked out Savaje OS. Inferno would be most comparable to such an OS. Inferno is based on many of Plan 9's ideas but with a new programming language, Limbo (famed for being the only other language than C Dennis Ritchie documented) and a virtual machine, Dis. Limbo can run on bare hardware without a host operating system with around 700KB of memory.
Rob Pike explains the advantages of the Dis virtual machine. Unlike the
Plan 9 from Bell Labs.
Really cool how _everything_ was a file.
To start a program on some machine, he would cd to some directory corresponding to the machine. I don't remember exactly, but this directory had files corresponding to "exe", "stdin", and "stdout" among others. To start a job, the program was just copied to the exe file. And then if you looked at the "stdout" file, the output from the running job was there. Now you can imagine how launching a job on thousands of machines and collecting the output becomes really trivial.
I got the impression that this was sort of like the Linux /proc filesystem, but expanded to work seamlessly across a cluster and with more functionality.
1) The live cd is the install cd. This isn't Linux... Installation is done by an interactive rc script ("everything is a file") in a running Plan 9 with or without rio. Try and imagine how simple it is to automate a Plan 9 installation. Unlike Linux we don't need Red Hat to develop some complex standard for doing something that should be simple.
/n/sources/extra/ or /n/sources/patches/. Or anything made or ported by anyone else that can be found in /n/sources/contrib/ and elsewhere. And it definitely is not missing anything that would be basic in any operating system.
/bin/ip/ like the rest of the IP tools (on x86 the actual location for IP's ping is /386/bin/ip/ping. /386/bin/ is bound to /bin/ during boot up on x86. Likewise /alpha/bin/ is bound to /bin/ during boot up on alpha. etc.). You use IP ping like this: ip/ping $ipadr. If you want skip the ip/ part then bind /bin/ip/ping to /bin/ping.
/bin/ip/ and http tools in /bin/http/) we don't just dump everything where ever we feel like it. What is the point of having a hierarchy without using it?
2) The cd comes with all the official software. Everything but the stuff that can be found in
3) It does include ping. Ping is not just limited to IP so you will find multiple ping programs for different things in their respected directories. The ping for IP is in
4) This all fits in 80MB. Plan 9's cd is small because it doesn't have bloat. (This includes: PDF/postscript reader, page; Word processor, troff; an advance shell, rc; a web server, httpd; plus thousands of other applications.)
5) Why didn't you ask any of your questions on 9fans before coming to your assumptions?
6) This isn't Linux there are rules (e.g. ip tools in
Plan 9 from Bell Labs.