RFS vs. NFS

Thomas Truscott trt at rti.UUCP
Tue Apr 5 06:32:57 AEST 1988


Freedomnet, and other systems such as Sprite,
support "true" remote execution in addition to
the "copy/exec" execution found in NFS and RFS.
One potential benefit is improved transparency of binary files.
There are some interesting problems in the way.
I believe Freedomnet tries harder than most to solve them.

> Consider RTI's Freedomnet, which RTI advertises as supporting full
> UNIX file system semantics.  However, if program foo physically
> resides on a remote machine, typing foo causes foo to run on the
> remote machine.

Freedomnet will attempt to run foo on a machine capable of executing it.
If <remote machine> can execute foo, great.
Otherwise Freedomnet will copy/exec it elsewhere.
There are no guarantees about where the program will run
(it might well migrate from one system to another during execution),
however it *is* guaranteed that foo's behavior remain unchanged.
There are some unobvious, yet inevitable, consequences of this guarantee.

> However, if instead of foo, the program is reboot ... well, you get
> the idea.

[Just making sure everybody does get the idea:]
Every process has a "current working system", usually referred
to as the "current working root" since it is where filenames
beginning with "/" are evaluated.  If you run reboot
then your current working system is rebooted
REGARDLESS of where reboot happens to be running.
Freedomnet even takes care of details such as System V's
lack of a reboot system call (it has sys3b and/or uadmin),
the unusual implementation of reboot() on the IBM RT, and so on.

> I have my doubts whether there is any adequate definition of UNIX file
> system semantics for a heterogeneous distributed environment.

Your doubts are justified, given the unbounded number of ways
that heterogeneity can rear its ugly head.
But we should explore the limits of heterogeneous semantics,
and not simply give up the fight.
It is certainly no excuse for us to create systems
which lack UNIX semantics even in a purely homogeneous UNIX environment!
	Tom Truscott

P.S.  There is a long section on UNIX semantics and Freedomnet
in the "FREEDOMNET Programming Guide".  No one seems to read it
("hey, its transparent, right?") but if you want a copy send me Email.



More information about the Comp.unix.questions mailing list