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"

Reply via email to