Slashdot Mirror


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."

11 of 226 comments (clear)

  1. Plan 9 ISO Mirrors by ettlz · · Score: 5, Informative

    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 .

  2. Now YOU look stupid. by Anonymous Coward · · Score: 4, Informative

    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).

  3. Plan 9 is cool by Anonymous Coward · · Score: 5, Informative

    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!

    1. Re:Plan 9 is cool by ciroknight · · Score: 4, Informative

      Both are available today, and I can assure you Plan 9's Venti was first, and furthermore ZFS isn't really anything like it. Venti does data compression by removal of redundant data by (basically) writing a block, and then checksumming the block and using that sum to refer to the block in the future, so that if the software tries to write an identical block, it simply ignores the request. With an appropriate block size set, it can save lots and lots of space, however, it's very impractical as a day-to-day filesystem due to the datasets most people work with day-to-day (most of us work with lots of non-redundant data such as code files, video files, image files, etc.), though it would be a neat experiment to see what could be done with a modernized version of it.

      Lots of things like this were/are revolutionary about Plan 9, simply because they were given the ability to do it. Some of them are great ideas (like Venti in conjunction with a database server, if the database server was tailored to the file system and didn't do stupid things...), and some of them could still use a great deal of work. Either way, I welcome our Plan 9 overlords from Outer Space.

      --
      "Victory means exit strategy, and it's important for the President to explain to us what the exit strategy is." G.W.Bush
  4. The review is not so great by ems2 · · Score: 5, Informative

    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.

  5. I'm a "Plan 9 from Bell Labs" user by DrSkwid · · Score: 5, Informative

    "Plan 9 from Bell Labs" is the proper name of the OS.

    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 /n/ftp

    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
  6. Plan 9's web browsers by ems2 · · Score: 4, Informative

    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.

  7. Re:How does it compare with the SavaJe OS by ems2 · · Score: 4, Informative

    There is APE for POSIX support. And linuxemu for emulating linux binaries.

    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 .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.

  8. Re:Zzzzzzz..... by ratatask · · Score: 5, Informative

    >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.

    Sorry, this is where you're wrong.
    Make the socket interface a filesystem, and all you do is mount a fileserver over that, to create
    a socks proxy/http proxy/whatever. All apps get the capability of
    doing networking over a proxy, transparently - no need for using libs or
    prelinking hacks that usually don't work.

    Have the ability to easily create fileservers in userspace, and create an mail
    filesystem that can handle imap/pop/local mboxes etc. Mail clients doesn't need
    to reimplement your favorite mail protocol in yet another broken and incompatible
    way, or adhere to 4 different libraries with 4 different concepts. Just read/write files and
    have the one fileserver do the job.

    Sharing files AND resources becomes easy too. Want to play sound on another computer ? import hostname:/dev/audio /dev

    Having all resources being files, you get a standard way of access control (add ACLs if you really need to), couple it with private
    namespaces, and you don't need the umpten hacks like freebsd jails, chroots, selinux, systrace, etc. Just use chmod/chown and set up a filesystem namespace only containing the resources (resources in this case is anything you request from the OS - networking interface, audio device, screen display, authentication privileges, or most other of the 400 syscalls or ioctls you might want to restrict access to in a read/change on traditional unixes.

  9. Re:/proc on steroids by spitzak · · Score: 4, Informative

    Linux copied the idea of /proc *from* Plan9, so there is certainly some resemblance!

    Despite the limited nature of the copy (somebody else says that Linux version is pretty much read-only, I'm not sure) it shoud be obvious what a big win this is. Suddenly a whole lot of utilities like "ps" do not have to be recompiled to match the kernel. And you can peek into /proc directly, without using a program, and get useful information (such as what files are open or the executable name, I've done both of these plenty of times).

    The only other Plan-9 thing that is copied extensively is UTF-8 text encoding. This one is also a HUGE win, as suddendly we don't have to write two streams through all our programs for handiling Unicode and handling "legacy" ascii files, as they are now the same thing, as long as some (very minor) fixes are done to the "legacy" code. Plus UTF-8 seamlessly handled Unicode going past 65536 characters, while the "wide character" solution that Sun and HP and Dec and Microsoft struggled with for 20 years fell apart the moment this happened, by adding "surrogate characters" and thus deleting the *only* advantage it had over UTF-8.

    Considering how incredibly useful both of these ideas are, I would certainly like to see a lot more of Plan 9 brought out into the real world. There is a lot there!

  10. To answer some of the authors questions by ems2 · · Score: 4, Informative

    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.

    2) The cd comes with all the official software. Everything but the stuff that can be found in /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.

    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 /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.

    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 /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?