Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!ames!apple!rutgers!gatech!mcnc!rti!mcm From: mcm@rti.UUCP (Mike Mitchell) Newsgroups: comp.unix.wizards Subject: Re: What kinds of things would you want in the GNU OS? Message-ID: <3028@rti.UUCP> Date: 9 Jun 89 15:37:24 GMT References: <106326@sun.Eng.Sun.COM> <4315@ficc.uu.net> <338@arc.UUCP> <208@sopwith.UUCP> <2622@fenix.UUCP> Reply-To: mcm@rti.UUCP (Mike Mitchell) Organization: Research Triangle Institute, RTP, NC Lines: 30 I have been reading the articles proposing different symantics for accessing remote systems with some amusement. Some say '//host', others '@/host' or '/@host' or other varients. All require some hackery to the name parsing routines in the kernel (namei) so that it recognises some new syntax. Why not use the notation '/../system'? There have been distributed systems using this form since at least 1982. An example of one is described in "The Newcastle Connection - or UNIXes of the World Unite," Software - Practice and Experience, vol. 12, December 1982. Let me explain a bit about the '/../system' symantic. The '/' is your normal root, right? What is the convention for directory entries '.' and '..' in V7, System V, and BSD unix systems? Isn't '.' just a hard link to the current directory? Isn't '..' just a hard link to the parent of the current directory? Now in the directory called '/', the entry '..' is a hard link to the current directory also. What happens if you unlink the '..' entry in the '/' directory and mkdir a directory called '..'? I'll tell you what happens. You get a directory called '..' accessible from '/'. You can now chdir to '/..' and get to a new directory. Put anything you want in that directory. Put symbolic links pointing to NFS systems there. Put mount points for NFS there. Put the '/dev/net/systemname' character/block devices there. It really doesn't matter what you put there, because it is just another directory. UNIX users are used to '..' meaning go up a directory. To go to another system, you should go above the root on your own system, then down to another one ('/../system'). It all just makes sense. Of course, if you want to extend a local group of systems into a larger collection of systems, just add another '..' directory to the '/..' directory. Then the hierarchy could be like '/../nearsystem', '/../../virgina/system', '/../../oregon/system', '/../../../england/london/system', or any other kind of subdivision. The tree could just keep going up.