CS 4513                                                   Exam #1                                            April 9, 2002


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

a)      temporal locality

b)      file system consistency

c)      memory-mapped file

d)      uniform memory access (UMA) multiprocessor


2. In most operating systems,  files are stored in blocks which may be spread out over the disk, instead of being stored contiguously (together in neighboring blocks).  What are the advantages and disadvantages of contiguous file storage.  Describe what changes you would have to make to the Unix file system data structures in order to implement contiguous file storage. 


3.  Studies have shown that a large proportion of the files in a file system are of small size although some are very large.  Therefore, some file systems make some provision for accessing or storing small files more quickly than large files.  For each of the file systems we studied in detail, FAT/FAT32, NTFS, and Unix/Linux, describe what special considerations are made for small files.  If a particular file system makes no special provision for small files, say so.


4. Two methods proposed for controlling file access (permissions) are access control lists and capabilities.  Describe what each of these is, and explain what limitation of Unix-style file permissions they are designed to overcome.


5.  In NFS, the server is stateless while in the Andrew file system, the server is stateful.  Define “stateless” and “stateful”.  Explain what aspects of the design of NFS and Andrew justify the description stateless (for NSF) and stateful (for Andrew).  Discuss the relative advantages and disadvantages of stateless vs. stateful file servers.