Xref: utzoo comp.unix.questions:6408 comp.unix.wizards:7560 Path: utzoo!mnetor!uunet!husc6!bbn!gatech!mcnc!rti!trt From: trt@rti.UUCP (Thomas Truscott) Newsgroups: comp.unix.questions,comp.unix.wizards Subject: Re: RFS vs. NFS Message-ID: <2158@rti.UUCP> Date: 4 Apr 88 20:32:57 GMT References: <326@ivory.SanDiego.NCR.COM> <275@ksr.UUCP> <7556@brl-smoke.ARPA> <10219@steinmetz.steinmetz.ge.com> Distribution: na Organization: Research Triangle Institute, RTP, NC Lines: 47 Summary: Freedomnet does it right 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 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.