The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] Re: RFS (was Re: Re: forgotten versions)
@ 2022-06-20 12:28 Paul Ruizendaal via TUHS
  2022-06-20 21:53 ` Derek Fawcus
  0 siblings, 1 reply; 9+ messages in thread
From: Paul Ruizendaal via TUHS @ 2022-06-20 12:28 UTC (permalink / raw)
  To: tuhs


> I don't know the exact history of RFS a la System V, but I
> don't think it was Peter Weinberger's stuff, and it certainly
> wasn't his code.

Peter’s code is available in the V8 and V9 trees on TUHS.

The Sys V repositories on Github appear to include RFS code in all of R3.0, R3.1 and R3.2.

At first glance, it seems quite different from the V8/V9 code.

> Peter, being a self-described fan of cheap hacks, also wasn't
> inclined to spend much time thinking about general abstractions;
> in effect he just turned various existing kernel subroutines
> (when applied to a network file system) into RPCs.  The
> structure of the file system switch was rather UNIX-specific,
> reflecting that.

Yes, well put. I’ve back ported his filesystem switch to V6/V7 and it is very light touch: on the PDP11 it added only some 500 bytes of kernel code (after some refactoring).

With hindsight it seems such a logical idea, certainly in a context where the labs were experimenting with remote system calls in the mid 70’s (Heinz Lycklama's work on satellite Unix) and early 80’s (Gottfried Luderer et al. on distributed Unix — another forgotten version). It is such a powerful abstraction, but apparently very elusive to invent.

Paul

^ permalink raw reply	[flat|nested] 9+ messages in thread
* [TUHS] Re: RFS (was Re: Re: forgotten versions)
@ 2022-06-20  0:44 Norman Wilson
  2022-06-20  1:02 ` George Michaelson
  2022-06-20  4:50 ` arnold
  0 siblings, 2 replies; 9+ messages in thread
From: Norman Wilson @ 2022-06-20  0:44 UTC (permalink / raw)
  To: tuhs

I don't know the exact history of RFS a la System V, but I
don't think it was Peter Weinberger's stuff, and it certainly
wasn't his code.  Nor his name: he called his first version
neta and his second netb (he knew it would be changing and
allowed for it in the name from the start).

I don't remember us ever calling it RFS, or even remote
file systems, inside 1127; we called it network file systems
(never NFS because the Sun stuff existed by then).

For those who don't know it, Peter's goal was quite different
from that of NFS.  The idea behind NFS seems always to have
been to mount a remote file system as if it were local, with
a base assumption early on that everything was within the
same administrative domain so it was OK to make assumptions
about userids matching up, and running code as super-user.
Peter described his intent as `I want to be able to use your
disks, and that's a lot simpler if I don't have to get you
to add code to your kernel, or even to run a program as
super-user.'  Hence the entirely-user-mode server program,
which could use super-user privileges to afford access as
any user if it had them, but also worked fine when run as
an ordinary user with only that user's file permissions.
We did in fact normally run it as super-user so each of
our 15 or so VAXes could see the file system tree on each
other, but we also occasionally did it otherwise.

That was one reason device files worked as they did, accessing
the device on the server end rather than acting like a local
special file on the client: we didn't care about running
diskless clients, but we did occasionally care about accessing
a remote system's tape drive.

Peter, being a self-described fan of cheap hacks, also wasn't
inclined to spend much time thinking about general abstractions;
in effect he just turned various existing kernel subroutines
(when applied to a network file system) into RPCs.  The
structure of the file system switch was rather UNIX-specific,
reflecting that.

That also means Peter's code was a bit ad-hoc and wonky in
places.  He cleaned it up considerably between neta and netb,
and I did further cleanup later.  I even had a go at a library
to isolate the network protocol from the server proper, converted
the netb server to use it, and made a few demo servers of my own
like one to read and write raw FILES-11 file systems--useful for
working with the console file system on the VAX 8800 series,
which was exported to the host as a block device--and a daemon
to allow a tar archive to be mounted as a read-only file system.

In modern systems, you can do the same sort of things with FUSE,
and set up the same I-want-to-use-your-disks (or I want to get
at my own files from afar without privileges) scheme with sshfs.
I would be very surprised to learn that either of those borrowed
from their ancient cousins in Research UNIX; so far as I know
they're independent inventions.  Either way I'm glad they exist.

Norman Wilson
Toronto ON

^ permalink raw reply	[flat|nested] 9+ messages in thread
* [TUHS] Re: forgotten versions
@ 2022-06-18  0:35 Douglas McIlroy
  2022-06-18  5:00 ` Kevin Bowling
  0 siblings, 1 reply; 9+ messages in thread
From: Douglas McIlroy @ 2022-06-18  0:35 UTC (permalink / raw)
  To: TUHS main list

> I can think of at least 4 things, some big, some small, where post-V7
> Research Unix was influential

Besides streams, file system switch, /proc, and /dev/fd. v8 had the
Blit. Though Rob's relevant patent evoked disgruntled rumblings from
MIT that window systems were old hat, the Blit pioneered multiple
windows as we know them today. On the contemporary Lisp Machine, for
example, active computation happened in only one window at a time.

V8 also had Peter Weinberger's Remote File System. Unlike NFS, RFS
mapped UIDS, thus allowing files to be shared among computers in
different jurisdictions with different UID lists. Unfortunately, RFS
went the way of Reiser paging.

And then there was Norman Wilson, who polished the kernel and
administrative tools. All kinds of things became smaller and
cleaner--an inimitable accomplishment

> No clue what was new in V10

This suggests I should put on my to-do list an update of the Research
Unix Reader's combined table of man-page contents, which covers only
v1-v9. I think it's fair to say, though, that nothing introduced in
v10 was as influential as the features mentioned above.

Doug

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-06-20 21:53 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-20 12:28 [TUHS] Re: RFS (was Re: Re: forgotten versions) Paul Ruizendaal via TUHS
2022-06-20 21:53 ` Derek Fawcus
  -- strict thread matches above, loose matches on Subject: below --
2022-06-20  0:44 Norman Wilson
2022-06-20  1:02 ` George Michaelson
2022-06-20  4:50 ` arnold
2022-06-18  0:35 [TUHS] Re: forgotten versions Douglas McIlroy
2022-06-18  5:00 ` Kevin Bowling
2022-06-19 20:46   ` [TUHS] RFS (was Re: Re: forgotten versions) Derek Fawcus
2022-06-19 23:07     ` [TUHS] " Larry McVoy
2022-06-19 23:19       ` Brad Spencer
2022-06-20  5:03         ` Arno Griffioen via TUHS
2022-06-20  6:53           ` Theodore Ts'o

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).