Home > General Development > Plan 9-style File System for Linux/BSD Plan 9-style File System for Linux/BSD Eugenia Loli 2004-11-22 General Development 25 Comments Client and server implementations of the 9P and 9P2000 distributed file system protocols for Unix-based operating systems. Download the latest from here. About The Author Eugenia Loli Ex-programmer, ex-editor in chief at OSNews.com, now a visual artist/filmmaker. Follow me on Twitter @EugeniaLoli 25 Comments 2004-11-22 4:42 am Whats the advantage of this style file system ? 2004-11-22 5:04 am luv the logos! tux/glenda and tux in bunnysuit =D 2004-11-22 5:17 am Maybe a little reading up on how the Plan9 fs works would enlighten you. Better still, download and install P9 and try it for yourself. http://www.cs.bell-labs.com/magic/man2html/5/0intro 2004-11-22 7:58 am I need summary . What’s the advantage ? And I have checked out plan9 before. Needs a better gui. 2004-11-22 8:06 am The way I understand it, it sounds like a file system that bas been developed in the server/client model, which means, for example, one would not need to use complicated file sharing technologies like SMB or NFS, one simply has the file system implemented in the server end and the client end, be it on a local machine or a remoate, can connect up to the machine. In otherwords, a fully transparent, “network centric” file system. 2004-11-22 8:07 am Plan 9 is not about a GUI it has some very clever ways users share space and recources. I don’t think Plan 9 will get big but I am sure the fruits of P9 will make their way into other OS’s. Conceptually it is a very advanced OS. 2004-11-22 9:37 am ‘Everything is a file’ in UNIX is a lie. ‘Almost everything’ is more near the truth but wether thats an advantage or not is up for debate. Because not everything is a file, thats why Sun had to invent NFS (VMS had this btw but it was from DEC…). This only 1 aspect of Plan9, there’s more, but i think this is one of the most important ones. Don’t forget that when everything is a file, you have the power of the shell with that. Here’s a summary about what Plan9 is, taken from the wiki (http://www.cs.bell-labs.com/wiki/plan9/plan_9_wiki) WHAT IS PLAN 9 Developed by the people who devised UNIX, i.e. Bell Labs, Plan 9 takes OS development back into the realm of research. While UNIX can be said to be a research tool the OS principles remain largely the same throughout all developments. Plan 9 (the name is taken from the title of the Worst Film Ever Made, Ed Wood’s Plan 9 From Outer Space) is an attempt to work on the concept of operating system from the ground up, reworking the whole idea using modern concepts and technology. Read what do people like about plan 9 both as an OS and as an environment to develop in. Key features that distinguish Plan 9 from other Unix-like systems include; * Rio: Rio is the window system and the first thing you will see when you boot your system. * Acme: Acme is an extended UI that is a hybrid of window system, editor and shell, achieving much of the functionality of Emacs and its clones. * Plumber: Plumber is the behind-the-scenes combinatorial engine of Plan9. It offers such UNIX functionality as piping and other program flow controls. * PQ: A query application for the native “implicit relational database”. * Troff: A version of the UNIX original, updated for Unicode. * Total File Representation: Everything in Plan 9 is represented as a file, unlike UNIX which only partially implements this feature. It doesn’t get much shorter than that and i suggest you read the whitepapers on their homepage. http://www.cs.bell-labs.com/sys/doc/index.html 2004-11-22 11:43 am So it is a bit like Qnet then in QNX… Which is a great technology too. 2004-11-22 12:00 pm Is this implementation compatible with Linux’s ACL (Access Control Lists) and NSA’s SELinux? 2004-11-22 12:19 pm >This only 1 aspect of Plan9, there’s more, but i think this >is one of the most important ones. Don’t forget that when >everything is a file, you have the power of the shell with >that. There is another part where Plan9 is great also, besides “everything is a file”. It also doesn’t matter where the file is. You want to use a gateway to reach another network ? Import the /dev/ (or /net) file from a machine that stands on both nets to your local namespace (a nice way of doing NAT) Want the sound to pop out at another box ? import the /dev/ entry for the soundcard to your local box. No special code required on any parts. 2004-11-22 12:38 pm >>Maybe a little reading up on how the Plan9 fs works would enlighten you. Better still, download and install P9 and try it for yourself. http://www.cs.bell-labs.com/magic/man2html/5/0intro<< I am sure you mean this URL: http://cm.bell-labs.com/plan9dist/download.html Alas, i can’t. Since i am a freelance developer of weapons of mass destruction and intend to sell them to the highest bidder, Plan 9 is not for me. >>I will not be using Plan 9 in the creation of weapons of mass destruction to be used by nations other than the US.<< Unless, of course, the US is the highest bidder. SCNR 2004-11-22 1:29 pm Must be a joke as ‘weapons of mass destruction’ is not defined. Its also not in the OSI-compatible license (it’d be discrimination). Plus, it only applies to the download. Those who’d care to develop ‘weapons of mass destruction’ to destroy US would not care for the license anyway. 2004-11-22 1:32 pm Apparently, its allowed to use the VMware pre-installed image for developing ‘weapons of mass destruction’ against the US. http://cm.bell-labs.com/plan9dist/ureg.html .. 2004-11-22 3:31 pm From what little I have played with Plan9 it goes like this. (and from an explanation to me by Dennis Ritchie 1994) Plan9 has 3 parts, file server, CPU server, graphic server. Each part doesn’t care where it is on the network. This makes for a nice “distributed computer” building block system. I think that the point here is the modular nature of the system. 2004-11-22 4:11 pm I am curious about how filesystems are created/made. For instance: mkreiserfs /dev/hda3 will create reiser file system on /dev/hda3. What instructions (code) does mkreiserfs send to create such a filesystem? What tools (compilers, etc) are used to create filesystems? 2004-11-22 6:13 pm There’s a forthcoming Freenix submission that describes the advantages and performance comparisons with NFS. However, a quick qualitative summary: * 9P2000 is a synchronous resource sharing protocol intended to allow sharing of devices and other system resources as well as files. * 9P2000 is used by Plan 9 applications to expose synethetic file systems which are used to interact with the applications. Russ Cox’s plan9port package brings a signifigant number of Plan 9 applications to Linux which could benefit by being able to directly manipulate their synthetic file systems. * V9FS (and other 9P2000 clients) are small (~2000 lines of code), simple, and can run over almost any in-order reliable transport (shared memory, ssh, RDMA, etc.). The intent behind the development of V9FS is to bring Plan 9 technology into more mainstream operating systems like Linux. V9FS is a foundation on which we will port other elements such as synthetic file systems, resource sharing, and clustering tools. Reading the Plan 9 papers (in particular the ones on network organization and namespace) is the best way to understand what we are shooting for. 2004-11-22 6:13 pm Plan 9: Resurrect the dead (no not all of them, just 3) and terrify the populace into submission by an alien race (not really, just some guys in tights). http://www.badmovies.org/movies/plannine/ 2004-11-22 6:17 pm That’s not what it says at all – it just says that it doesn’t mind if you use it to develop weapons of mass destruction for the US, it doesn’t deny that they *are* weapons of mass destruction. 2004-11-23 5:14 am Does this FS allow the exporting of Linux devices and such using the Plan 9 scheme, or does it just allow linux to use things exported by Plan 9 computers? If it’s the former, then that would be really cool (basically taking the coolest thing from P9 and making it a linux feature, I think). If it just allows linux to use resources from plan 9 machines, that’s not so great, since there aren’t really a lot of them to take advantage of… 2004-11-23 5:23 am What weapons of mass destruction? 2004-11-23 9:08 am The BSD stuff is so well hidden that i was unable to find it. 2004-11-23 12:59 pm I haven’t tried it, but it says client and server, so I guess you can export linux stuff… 2004-11-23 1:15 pm if it just allows linux to use resources from plan 9 machines, that’s not so great, since there aren’t really a lot of them to take advantage of… Then I’m afraid you’re going to be dissapointed 2004-11-24 3:07 pm It does allow Linux to export resources (file systems, devices, etc) – however, some work needs to be done in order to really harness this capability to the same capacity as Plan 9. Sharing of resources (not just files) is my primary interest in working on the project. As far as the BSD stuff goes: the BSD support was mostly in the legacy code. There are several BSD developers that have contacted me and are interested in doing a port of the newer code. 2004-11-25 7:30 am Unfortunately, this setup seems to be under the GPL, so it really isn’t for Unix or BSD, it is instead for Linux and if it ever gets made Hurd. Not a flame, not a stab at it, just a note. This is a Linux thing and nothing more.