*BSD News Article 13040


Return to BSD News archive

Newsgroups: comp.os.386bsd.development
Path: sserve!newshost.anu.edu.au!munnari.oz.au!constellation!osuunx.ucc.okstate.edu!moe.ksu.ksu.edu!zaphod.mps.ohio-state.edu!cs.utexas.edu!uunet!mcsun!dxcern!vxcrna.cern.ch!roeber
From: roeber@vxcrna.cern.ch
Subject: A challenge to all true hackers: objects and types
Message-ID: <1993Mar20.145007.1@vxcrna.cern.ch>
Sender: news@dxcern.cern.ch (USENET News System)
Reply-To: roeber@cern.ch
Organization: CERN -- European Organization for Nuclear Research
References: <JKH.93Mar9214944@whisker.lotus.ie> <C3ow4H.FID@BitBlocks.com> <JKH.93Mar15175727@whisker.lotus.ie>
Date: Sat, 20 Mar 1993 13:50:07 GMT
Lines: 58

In article <JKH.93Mar15175727@whisker.lotus.ie>, jkh@whisker.lotus.ie (Jordan K. Hubbard) writes:
> I guess I should have expected this..
> 
> When I issued my "challenge", I didn't mean it as a generic "let's
> make the entire filesystem more generic" challenge, I meant it as
> "Let's add conditional symbolic links to the existing system with a
> minimum of fuss!" sort of challenge.

However, in this case it might be easier to first analyze what we
want our filesystem to do, and maybe jump to a new framework, than 
to spend effort now incrementally changing the existing limited system.

In the Domain/OS filesystem you mentioned at the beginning, the *real*
power of the filesystem is not simple ad-hoc tricks like variant
symlinks, though these are one of the more visible features.  (Along 
with a reliable networked file system.)  The real gem in the filesystem
is that it wasn't a "file" system at all, but an object store.  Objects 
could be of any "type" (and types can be user-written), and each type 
can support one or more "traits."  Any object whose type supports the 
"file io" trait looks like a file.  Any object whose type supports the 
directory traits looks like a directory.  Etc., etc.  Plan 9 is groping 
in that general direction, by having filesystems associated with different
services, but that is a more limited approach which has no advantages
I can see.

With such a base, writing a "variant symlink" type would be a snap.
I wrote a "searchlist" (a la VMS) type for the apollos in a couple
days' spare time.  No kernel work needed at all.  I wrote a fixed-size
rolling log type.  There is already a compressed type.  NFS and AFS
gateways are merely typed objects.  On my list of types to write are
a "tar" type which allows transparent access to the contents of tar
files, and an anonymous-ftp type.  And all these typed objects can
be mixed together anywhere in the namespace -- they're not restricted
to separate filesystems.

I really strongly urge anyone interested in this subject to read the
Apollo folks' original paper on this.  I use their system daily, and
though HP has killed Domain, the ideas are too good to die.

postscript:

  ftp://ftp.sage.usenix.org/pub/usenix/summer86/extensible-io.ps.Z
  ftp://archive.umich.edu/apollo/ost.ps.Z

text:

  ftp://archive.umich.edu/apollo/ost


If you can't get the paper, e-mail me and I can send it.

-- 
Frederick G. M. Roeber | CERN -- European Center for Nuclear Research
e-mail: roeber@cern.ch or roeber@caltech.edu | work: +41 22 767 31 80
r-mail: CERN/PPE, 1211 Geneva 23, Switzerland | home: +33 50 20 82 99
--  
"Sorry, baby, I can't take you to the pizza joint tonight, I've got to go
back to the lab and split the atom." -- Ayn Rand, "What is Romanticism?"