home *** CD-ROM | disk | FTP | other *** search
- Submitted-by: gwyn@smoke.brl.mil (Doug Gwyn)
-
- In article <11k9bsINN6n9@ftp.UU.NET> peter@ferranti.com (Peter da Silva) writes:
- >A better design still would be to make the current directory a standard
- >file descriptor, ...
-
- Well, yes, that's an interesting approach. One problem is that it
- would require (at the program/OS interface level) that open() of any
- directory work properly, which currently isn't guaranteed in some
- implementations.
-
- Anyway, my strategic concern is that we look to improved design to
- solve problems rather than worry excessively about making existing
- inferior designs work marginally better. In my view that is the
- original policy that produced the UNIX system that we old-timers
- admired. One acknowledged problem with standardization of existing
- practice is that it locks in inferior technology and provides an
- economic disincentive to find better methods. Thus we probably have
- to look to research platforms (Plan 9 comes to mind, but there are
- others) or non-POSIX OSes rather than commercial UNIX for substantial
- innovations.
-
- >I also think argv and envp should be passed in on yet another standard
- >file descriptor as well... let's simplify the design rather than complicate
- >it.
-
- Unfortunately the C standard has locked in argv. (You're not supposed
- to use envp.) The environment could also be implemented as /dev/env/*
- (for example, with "*" being the "names" and their contents the "values"),
- to be opened and modified if one needs it. There is some trade-off
- between opening standard services via standard pathnames and having
- them preopened on standard FDs. (I don't know without more thought
- just what the important trade-offs are!)
-
- >What operating system is this?
-
- For the curious, Apple's ProDOS and GS/OS implement path prefixes,
- and I've layered support for UNIX conventions (/, .., .) into my
- edition of the standard C library. The code that handles this is
- generic and isolated into its own module; if somebody would like to
- experiment with it I should be able to make it available. Actually
- it shouldn't be very difficult to reimplement yourself.
-
-
- Volume-Number: Volume 28, Number 29
-
-