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