Mike Edenfield wrote: > Just for reference, 9p is not Plan 9, it's only the Plan 9 network > protocol/distributed file system, which you can use on Linux with the > appropriate file system modules.
Right. Either you use the kernel module (which now is in mainline for quite a long time), or 9pfuse, or one of the userland libraries around (eg. libmvfs). The basic idea behind this all is to use a filesystem as a primary IPC interface. Files dont necessarily mean things stored on-disk, but streams/communication-channels in an hierachical namespace. (eg. /proc or /sys). This way you have a very simple IPC mechanism using the very same semantics as filesystems do traditionally. That's just consequently using the "everything's a file"-metaphor. As everything's a file, all an OS or an distributed environment has to provide is dispatching filesystem operations from client to server, whereever they may actually reside. For example, you can simply mount any Plan9 device via 9P, from anywhere, as long as you get some 9P path there. (BTW: 9P doesnt have the concept of ioctl()s. If some object has more than just a single IO stream, it's modeled as an directory, eg. containing some "ctl" file accepting additional commands, etc). cu -- ---------------------------------------------------------------------- Enrico Weigelt, metux IT service -- http://www.metux.de/ cellphone: +49 174 7066481 email: i...@metux.de skype: nekrad666 ---------------------------------------------------------------------- Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme ----------------------------------------------------------------------