Goal: The primary goal
of this assignment is to implement Remote Procedure Calls for
the previous project's file operations and run the core file system
remotely.
Client Process: The client
is responsible for processing the input file, deciding which remote
functions to call, calling them (via the client stub), and displaying
the return value(s) whenever appropriate. This process should
accept 2 command-line arguments: first, the name of the input
file to process and second, the name of the host running the server.
Server Process: The server
is responsible for implementing the file system. As such, it
should contain most of the code you've written this term and should
(minimally) provide remotely-callable versions of the following
functions:
New Filename NumBlocks
Extend Filename NumBlocks
Truncate Filename NumBlocks
Delete Filename
Short
Long
This assignment does not require the implementation
of sub-directories, but they may be included if you implemented
them last time and would like to see them completed. Although
RPCs open up a number of additional alternatives, all programs
will be graded with respect to implementing the core set of functions
listed above (no tiered grading). If your group is bored by the
minimal requirements feel free to design/implement any number
of additions/alternatives provided they are approved by me
before Tuesday, 12/17, at 5:00pm.
Please run the local and remote processes on the
same machine until you finish debugging the code. And try to
remember to kill off the server processes if you are using machines
that others use.
What to turn in: This assignment requires the same paper submission required by previous assignments: one page per group, listing the members, signed by each, each member's % contribution, a sentence or two describing each member's contribution, and step by step instructions for compiling and running (this time both client and server processes). Include you team's input file that demonstrates the correctness of your program. As before, the programs must compile and run on bigwpi.