From mboxrd@z Thu Jan 1 00:00:00 1970 From: bakul@bitblocks.com (Bakul Shah) Date: Sun, 24 Sep 2017 17:56:46 -0700 Subject: [TUHS] UNIX of choice these days? In-Reply-To: Your message of "Mon, 25 Sep 2017 09:36:44 +1000." References: <20170923091704.GD10152@darioniedermann.it> <20170924140617.GG28606@mcvoy.com> <20170924203621.GA80203@wopr> <49B7FCB8-A086-4FFB-AF3B-4B3BD167EC54@bitblocks.com> Message-ID: <20170925005702.38377156E523@mail.bitblocks.com> On Mon, 25 Sep 2017 09:36:44 +1000 Dave Horsfall 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.