Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!ames!ucbcad!ucbvax!INGRES.BERKELEY.EDU!hatcher From: hatcher@INGRES.BERKELEY.EDU (Doug Merritt) Newsgroups: comp.sys.amiga Subject: Re: MCC pipes Message-ID: <8706240031.AA16714@ingres.Berkeley.EDU> Date: Tue, 23-Jun-87 20:31:07 EDT Article-I.D.: ingres.8706240031.AA16714 Posted: Tue Jun 23 20:31:07 1987 Date-Received: Thu, 25-Jun-87 04:29:51 EDT Sender: daemon@ucbvax.BERKELEY.EDU Organization: University of California, Berkeley Lines: 57 Summary: Please don't trivialize the subject In article <187@sugar.UUCP> peter@sugar.UUCP (Peter DaSilva) writes: Me: >> space. That's why devices on Unix live in the file system in /dev >> -- it's not a peculiarity, it's a very basic feature of a uniform >> name space. It would be very nice if we could do "dir ::" or something >> and discover a list of all devices. Peter: :Summary: List devices? Just say Assign! :You can do an assign with no args and get the list. From a program, however, :it's a bit more complex. Naturally we all know that Assign gives you a list of devices, but that is not the point (BTW I have a C function that searches the list for a device of a given name, email to "ucbvax!unisoft!certes!doug" if you want it). The point was about a single "uniform name space", not whether the two separate name spaces could be accessed. This is an important design principle, and not one that I am inventing off the top of my head. Before you start disagreeing with me too strongly on the issue, it wouldn't hurt to look up some of the papers published on the subject that explain the issues far better than I can. There is a clear, concise paper on the subject by the venerable Rob Pike and P.J. Weinberger called "The Hideous Name" on pg 563 of the Summer 1985 Usenix Proceedings (although their paper is oriented towards network names, the ideas are universal enough to be applicable). There've been lots of others published too, but I don't have references handy. But I'll plod ahead in my own fashion for those of you who may be interested. :Maybe when I finish my console window device I can :add a device device. In the meantime, use the code in my STDFILE package :(to be posted soon). I have come to prefer the Amiga device naming convention :to the UNIX one... if only it used the UNIX path naming conventions with :them. All of this sounds good. I don't have any argument with keeping the Amiga device naming convention. I didn't mean that AmigaDos should have a filesystem just exactly like Unix, I just meant that at least with Unix you can list out devices in directories just like any other file. And your "device device" could support that. Change the syntax of my original suggestion to "dir devices:" if you like that better than "dir ::". Another aspect of a universal name space is the /procs directory in Unix System 3, that contains a list of active processes (that again can be listed with the "ls" command). I think this is a good idea. Why have many interfaces for programs to deal with, when you could give just one uniform interface? Well, unfortunately, sometimes you need custom interfaces. But there's no conflict on the Amiga. You just support all the basic things like Lock, Open, Read, Examine, ExNext for any and all objects (files, directories, devices, tasks, processes, etc), and then add other message types as necessary to provide for the special functionality of that particular object. Just make sure that it always responds to the minimal message set. Regards, Doug Merritt ucbvax!ingres!hatcher (thru Jun 28 only!) or ucbvax!unisoft!certes!doug