CS 4513 Operating Systems II WPI, D Term 2000
Craig E. Wills Final Exam (100 pts)
Given: Thursday, May 4, 2000








NAME: $\underline{\hspace*{3in}}$










This is a closed book (and notes) examination. Answer all questions on the exam itself. Take the number of points assigned to each problem and the amount of space provided for your answer as a measure of the length and difficulty of the expected solution. The exam totals 100 points.

SCORE: $\underline{\hspace*{3in}}$




1.
(10 points) The following graph shows a series of events within three processes P, Q and R with time moving to the right. Lines between each process are messages transmitted in the direction shown. Using the implementation described by Leslie Lamport for constructing a logical clock, write the logical time in the box next to each event in the graph. Assume the logical clock for all processes begins at zero.



file=logclock.eps

2.
(12 points) The designers of the Andrew File System (AFS) observed a number of characterizations concerning the use of files. Discuss how each of the following observations influenced the AFS design.
(a)
most files are small
(b)
many files have a short lifetime
(c)
system files (e.g. executables) rarely change compared to user files.

3.
(12 points) Define access and location transparency in a distributed system.











Fill in each blank in the following table with a distributed file system that is and is not access transparent as well as a distributed file system that is and is not location transparent. The same system may be used more than once if appropriate.

  Yes No
     
Access    
     
Transparent?    
     
     
Location    
     
Transparent?    
     

4.
(10 points) The information policy of a load sharing system is responsible for gathering machine load information for transfer decisions. Give two examples of approaches for the information policy in load sharing systems.

5.
(10 points) What is the distinction between a sender-initiated and receiver-initiated load sharing policy? Give an example of a system that uses each type of policy.














6.
(12 points) Assume a set of processes in a distributed system want to coordinate access to a shared resource. Describe an algorithm for implementing mutual exclusion amongst these processes. Be sure to indicate what a process needs to do to request exclusive access to the resource and to release its access to the resource.


7.
(7 points) In comparison to each machine running the same distributed operating system, what is the approach taken by the Distributed Computing Environment (DCE) for building a distributed system from a group of machines?











8.
(12 points) Assume you have a function/method vowelcount(), which takes as its argument a string and returns as its result the count of vowels contained in the string. Using either Sun RPC or Java RMI (your choice, but not both!) show how the interface definition file is created for this function/method. You do not have to write the contents of the function/method.











Now show the sequence of steps to build the client, build the server and start execution of the client. Be sure and indicate how the client locates the server.


9.
(15 points) The Andrew File System (AFS) uses a callback mechanism for caching.
(a)
Describe how this mechanism works in AFS.


(b)
What if this mechanism were used in the World Wide Web to between Web servers and proxy caches for caching Web objects? What are its advantages and disadvantages?


(c)
An alternate way to use a callback mechanism is to combine it with a lease so that a callback is only valid for a fixed amount of time. Propose a callback mechanism using leases for the World Wide Web that improves on the disadvantages from your previous answer. What are the advantages and disadvantages of your new approach?