Subject: Re: ioctl, write...
To: None <current-users@NetBSD.ORG>
From: Peter Seebach <seebs@solon.com>
List: current-users
Date: 01/15/1996 13:07:16
I think it would be an interesting idea to start implementing the POSIX/
traditional Unix interfaces in a purist way; consider a /net filesystem
which can be written to or catted from in various ways to set up and unsetup
interfaces.  ifconfig(8) could be a trivial shell script in terms of cat
and grep.  :)

I honestly don't think this is all that bad an idea.  Many of the purist
ideas lead to smaller kernels (a win for us retrocomputers), more generic
interfaces (a win for new development), and more modular code.

Consider the benefits of having a filesystem act more like a server; a
separate program which talks to the kernel.  This might lose in speed, but
might make up for it in having fs support be a run-time feature.  If
all you need to do to add ISO-9660 to a system is copy 9660fs in, and invoke
it, you can leave it out of your kernel, reclaim the memory, and only use
it when you plan to actually have a CD-ROM attached.  Ideally, unused features
*should* be removeable at runtime.  The kernel has (IMHO) gotten away from
providing the *basic* OS services.

Of course, as noted before, here and elsewhere, I'm a radical purist,
and a mathematician to boot, and consider practicality a distant third
after elegance and impossibility, the two *primary* goals of design.

>From a speed standpoint, in-kernel filesystems and the like are a clear win.
(I think.)  However, if we supported both (no, I'm not volunteering right now,
just wishful-thinking about possible directions) in-kernel and user-land
filesystems, users could choose to have rarely-used filesystems take a slight
perforrmance hit, and have the memory back the rest of the time, without
frequent boots.

Plan 9 is a good system, and there's no good reason I know of not to use some
of those ideas to build a better environment.  I'm not advocating losing
compatability with the Unix/POSIX world; I'd just like to see some of the
other ways of implementing things considered.  And yes, I do expect to
(eventually) put in some time doing some of this to see how it works.

-s