.so macs .TL "System Dependencies" Throughout the design of this project I have tried to make it as independent as possible upon the transport mechanism and the version of \*(UX used. The primitives in \fItrans.c\fP depend heavily upon using virtual circuit transport service ports, and the fake system calls correspond to those of 4.2BSD \*(UX. The fake system calls for a different version of \*(UX, and an implementation of \fItrans.c\fP using, say, the ``sockets'' of 4.2 BSD \*(UX should be interchangeable. A program written for 4.2 could remotely be executed on a machine running 4.1 using the 4.2 fake system calls. (A library of compatibility functions would also have to be used to map unreplaced 4.2 functions into their 4.1 equivalents.) It is also quite feasible to implement a RFS server in an operating system other that \*(UX. It would have to present a \*(UX system call interface to the alien system's filestore. .TL Conclusion As a topic, Remote Procedure Calls and transparent networking are not thoroughly explored. The subject of this project is a good one. The goals are simply and clearly defined but there are many problems to be confronted in producing a satisfactory solution. The surprisingly small amount of software I produced to implement a fully working, if simple remote execution facility is the tip of a mountain of thought. The solutions to difficult issues such as signal handling and performing forks and execs transparently have manifested themselves in the basic design of the system. For this reason it has been difficult in this report to justify some decisions as they were mentioned. But those decisions, I think, were good. The remotely executing versions of standard, unmodified system programs such as \fBecho\fP, \fBprintenv\fP, \fBcat\fP and \fBls\fP behave identically to their local counterparts. I implemented only the system calls necessary for these test programs as I found them to be necessary; there are several dozen calls to be replaced for a fuller system for which implementation will be a simple job of imitation. Only a few such as \fBdup2\fP will require a little thought. I am confident that I have produced a system whose generality and flexibility will make it easy to extend, and which will indeed enable large programs such as \fBtroff\fP to be executed remotely. The generality is such that I see no reason why a program should not undergo loading with both RFS and REX to produce a program which both accesses files on many machines and executes remotely! .so concpic.t .ce rcopy file1@host3 file2@host4