On Mon, 25 Sep 2017 09:36:44 +1000 Dave Horsfall <dave(a)horsfall.org> wrote:
Dave Horsfall writes:
On Sun, 24 Sep 2017, Bakul Shah wrote:
There are just a few potential users of /proc and
they were already
using other facilities. plus /proc is an optional facility. All this
conspired to make /proc less useful in FreeBSD. Unused code is in danger
of being garbage collected in FreeBSD :-)
Whatever happened to the Unix philosophy of everything looking like a
file? Adding more system calls is the Windoze (or perhaps Penguin) way of
doing things.
I am afraid people paid lip service to this but not much
changed in this regard at least in the BSD world. Look at all
the new things done since V7. devfs came in freeBSD 5.0.
Other filesystems were for files or were added based on what
Linux did. "portal" fs was going to be added but I don't even
remember what the point of it was any more. Unionfs was far
more complicated than in plan9 (more useful but also mainly
for files). VFS itself is too storage file centric.
/proc came in too late and it only helped with processes.
sysctl allowed access to other kernel stuff as well. ptrace &
grubbing around in kernel memory has existed from much earlier
time.
I think a few changes can make Unix much more plan9 like.
Things like: file descriptors are actually capabilities (or
handles, for short) and each process starts with a set of
handles and it can only reach those resources that its handles
allow. It can also gain new handles via operations on existing
handles. Right here you can see that a process is already
sandboxed. You don't need containers or jails! Next use
plan9's 9p or something like it. The point of "everything is a
file" is to provide a discipline -- as opposed providing an
open ended object or class based system. Once you do that,
user level fiesystems are a hop, skip and a jump away. But
there would be no point in doing this unless you also revamp a
bunch of system utilities.