Seeking a Development Environment (Sun?)

guy at sun.UUCP guy at sun.UUCP
Thu Oct 23 18:18:07 AEST 1986


> The framework is, I would claim, a better (dare I say "more open") thing
> to have than simply NFS.  One could build NFS support using the framework.
> One could build ISO/FTAM support with the framework.  One could build
> something that FTP'd a whole file over to your machine on open and back
> on close, if that's the best you could squeeze out of an uncooperative
> remote system.  Better that then nothing.
> 
> As far as server-side support goes, writing servers (especially stateless
> ones) that do the things that remote clients ask it to do just isn't
> that hard.

I think you'd better say "half-open".  It certainly makes life nice for
clients running on Apollos.  However, even if you publish a protocol
specification, it doesn't do anything more for *non*-Apollo clients than NFS
does; they either have to 1) rewrite their applications to use special calls
to access remote files, 2) build wrappers around their OSes file I/O calls
that use this protocol when accessing remote files, and relink all programs
that can be expected to want to access remote files with a library
containing these wrappers, or 3) stuff the remote file access code into
their kernel or some other dynamically-bound library so that existing
programs automatically get the new version of the code.

In short, what you have is a nice feature *for Apollo's OS*, not something
that magically opens up everybody's system.

I freely admit NFS doesn't do that either; you have to do some amount of
work to fit it into an arbitrary OS.  However, if you fit it into a UNIX
system using the vnode interface that comes with NFS distributions, you have
a framework that you can use to build support for other kinds of file
systems - whether remote or not - into your system.  (For example, we have
an MS-DOS file system that plugs into the interface, which you can use to
read and write MS-DOS floppies on UNIX systems.)  Yes, you have to stuff
some amount of kernel code into your system to do that, but that's due to
limitations of code based on the standard Bell Labs implementation of UNIX;
remember, the basic structure of UNIX was developed in the late '60s and
early-to-mid '70s on a PDP-11, so there was a limit on how much effort its
designers put into worrying about things like object-oriented file systems.

Comparing "extensible streams" (Apollo's object-oriented file system) with
NFS is comparing apples and oranges (or maybe knives and schoolbuses?);
better you should compare "extensible streams" with the vnode interface or
the File System Switch, or your remote file implementation with NFS, RFS,
etc..
-- 
	Guy Harris
	{ihnp4, decvax, seismo, decwrl, ...}!sun!guy
	guy at sun.com (or guy at sun.arpa)



More information about the Comp.unix.wizards mailing list