Jim Choate writes: > I rather doubt you'll find a single line of Plan 9 in any Linux and there > are no 'ideas' from Plan 9 in Linux, no mulitple server kernels, no 'no > root users', no 'private work space', no 'work space looks the same > irrespective of terminal server used, no transparent distributed task > processing, no encryption in the network layer, the windowing is > completely different than X-windows, etc., etc.. I just read the collection of papers on the design of the system. It's kind of the ultimate extension of the Unix metaphor of devices being files. The notion that a process should be able to contruct its own private file system hierarchy, as well as its address space, has been around for a while. Ditto for RPC through files as the interface to system services. It's interesting, in that you can wrap any task in a locally constructed namespace, with some filtering process catching all its supervisor requests, and forwarding them to the real system, or to some other filter. This cleanly allows any process to transparently be a supervisor to the processes underneath it, merely by namespace manipulation on forking. While the system is a neat testbed for some interesting OS abstractions, I get the impression, at least from looking at the file system layout, that it is not all completely bullet-proof production quality code, which will keep on singing and dancing under all possible combinations of load. The cache/WORM file system, which contains an unlimited number of daily backups as an integral part of the FS, would probably be a marketable product as an NFS-exporting network appliance, independent of its relationship to PLAN9. While the product is an interesting entry in the zoo of approaches to infinite virtualization and distributed computing, I think it is a bit premature to predict the death of Linux over it. It's been around for 5 years, it's free, and the multitudes are not beating a path to its door. It may be simpler to run daemons on existing Unix systems to export 9P based services, than it would be to have everyone run out and upgrade. The fastest way to do interprocess communication is through shared memory writes and address-valued signalling, which can be hardware supported. A lot of the microkernel architectures have had performance problems with LPC communication between processes and servers, and have only worked efficiently when kludges like server co-location and shared memory buffers were added. It seems that PLAN9, by laminating "all resources are files" onto this paradigm, achieves distributed computing at some significant performance cost. There may be more efficient, albeit less metaphorically elegant, ways of achieving the same goals. -- Eric Michael Cordian 0+ O:.T:.O:. Mathematical Munitions Division "Do What Thou Wilt Shall Be The Whole Of The Law"