Paper evaluations for 05/04/00

John Michael U. Datuin (jdatuin@san.rr.com)
Thu, 4 May 2000 08:39:33 -0700

The V paper discussed the V kernel, which was a distributed,
message-oriented system. The V system was designed for
use on diskless workstations, connected by a network, and
communicates via a general-purpose IPC. This IPC was
primarily used for accessing files throughout the network.
And, instead of using streaming protocols to optimize
file accesses, the authors used the notion of a synchronous
"request-response" method for message communications.
I found this paper difficult to read. Not that the material
was difficult, but that the authors delved too much into explaining
the performance of their design decisions in making V. There
were many sections where it was easy to just skim through
before reaching near the end where the authors described the
file access schemes, program loading, and the conclusion.
It would have been nice if the authors discussed more
concrete details such as how V ensured protection, handles
hardware resources, and others as we have read in previous
papers.

The Sprite paper discussed the Sprite OS, which was a
distributed, experimental network OS developed at Cal. It was
similar to Unix, but the authors noted that three facilities were
added to encourage sharing: 1) a transparent file system,
2) a simple mechanism for sharing writable memory between
processes on a single machine, and 3) a mechanism for
migrating processes between workstations to take advantage
of idle machines.
Some key features of Sprite includes:
- a RPC facility
- prefix tables to manage name space
- caching of file data on server and client machines
- use of ordinary files for backing storage in its virtual memory scheme
for simplification and uniformity with the file system
- guaranteed equivalent behavior for processes being executed locally or
remotely
Sprite put a major emphasis on sharing. All processes can share
physical memory via its virtual memory scheme, disk storage and I/O
devices can be shared (regardless of location), and allowed migration
of processes throughout the network.
There were many more features of Sprite, including multithreading,
support for multiprocessors, stubs and RPC transport using implicit
ACKs and fragmentation, managing the file name space, managing
file data via caches, its virtual memory, and process migration schemes.
I enjoyed reading this paper, particularly because the information
was well presented in an organized manner and with sufficient detail
without being overly detailed with fluff.