CS 4513                                                   Exam #1                                          April 8, 2003


All five problems count equally.  When you are finished, please staple this question sheet to the front of your answer sheets.


1.      Briefly define the following terms.  (One or two sentences each, please.)

a)      contiguous file storage

b)      memory-mapped file

c)      tightly-coupled multiprocessor

d)      remote procedure call


2. In a block-based file system, we need some way to keep track of which blocks belong to which files.  Describe how each of the file systems we studied,  MS-DOS / FAT-16, NTFS, and the Unix file system, handles this problem.


3.  Most file systems use a block cache or buffer cache (these terms are synonyms) to store recently used disk blocks in memory. 

a) To decide which block to remove from the cache when additional space is needed, we defined an ideal policy of longest time to next re-use (LTTR).  Describe this policy, and explain why it is not a practical policy to implement.

b) Name and describe a policy that is actually used in practice to decide which block to remove from the cache.


4. We discussed two methods for increasing file system reliability: i) use of RAID disks, and ii) use of log-based (or journaling) file systems.  For each of these


a) describe how the system works


b) describe how use of the system improves file system reliability.


5.  For this question, base your answers on EITHER Sun RPC or Java RMI.


a) Which system are you basing your answers on (Sun RPC or Java RMI)?


b) Describe the role of stub and skeleton procedures your selected remote procedure call system.


b) Explain the role of a name server (portmap in RPC, RMIRegistry in RMI) in your remote procedure call system.  Describe how the server and the client interact with the name server.