is this wise?

dmr at alice.UUCP dmr at alice.UUCP
Sun May 7 15:05:12 AEST 1989


Buda's idea (378 at chessene.UUCP) is to embed names of network services
into file names, so that

	open("/dev/hosts/uunet.uu.net/tcp/79", ...)

gets you to a TCP/IP connection to the named host on (I guess)
port 79.  It isn't so far-fetched as some would have it; indeed
we very nearly tried it in the Ninth Edition system in Bell Labs
research.

Some of the objections to it aren't relevant if you arrange things
correctly.  For example, the kernel need not know how to do the
connection dance; instead, the /dev/hosts directory is
virtual, served by a user-level program.  All the network connection
goo can be handled by this server, which returns the descriptor for
the completed connection.  Examples related to this approach are
described in several papers in the Portland Usenix conference
proceedings (Summer 1985).

However, we somewhat regretfully rejected schemes like Buda's
for several reasons.  First, each proposed embedding
began to get rather ornate.  There tend to be options, and different
networks have different naming structures.

Another thing that weighed heavily was that it was impossible to make
the /dev/host directory behave according to expectations one might
reasonably form.  For example, it is not possible to know all the hosts
in any non-trivial network, so what should you see if you list it?

Nevertheless, the idea could probably be pushed through.
(Indeed, as someone pointed out, it was done in Chaosnet.)
In particular, Rick Adams's reductions to absurdity are
quite close to things that the Plan 9 system (as opposed to
Ninth Edition) actually does; as many of its abstractions
as possible are mapped into the file system.

	Dennis Ritchie
	att!research!dmr
	dmr at research.att.com



More information about the Comp.unix.wizards mailing list