UNIVERSITY OF HOUSTON Department of Computer Science COSC 6360--Operating Systems QUALIFYING EXAMINATION Graduate Part FINAL EXAMINATION Part I May 5, 1997 This exam is closed book. You can have two sheets (i.e., four pages) of notes. 1. A New Spritely Distributed File system: The Sprite file system was designed in the mid 80’s at a time where most workstations did not have a local disk. How would you redesign a new version of Sprite if you had the chance? Your design should remain faithful to the major Sprite tenets such as implementing the UNIX semantics of sharing and using a stateful server while being tailored to workstations that have a local disk. You are free to borrow as much as you want from other DFS designs among which AFS, Coda and xFS (not discussed in class). (20 points) 2. Lazy Receiver Processing Most operating systems use an interrupt driven network subsystem architecture that gives the highest priority to the processing of network packets. We consider here the applicability of this approach to network servers such as file servers, firewall gateway and WWW servers. a) This approach greatly increases the vulnerability of the servers to some attacks. Which ones? (8 points) b) What would be the other advantage of scheduling incoming network traffic at the same priority as the application process that receives the traffic? (4 points) c) Are recent changes in CPU and network technology making this approach more or less attractive and why? (8 points) Part II May 8, 1996 This exam is closed book. You can have two sheets (i.e., four pages) of notes. 1. What is the problem of false sharing in distributed shared memory? (5 points) What did the designers of Munin do to alleviate this problem? (5 points) How is their technique implemented? (10 points) 2. A system of clocks is said to be strongly consistent if for two events e1 and e2, Ci(e1) < Cj(e2) always implies that e1 happened before e2. Show that the system of logical clocks proposed by Lampson is not strongly consistent. (10 points) 3. How does Grapevine handle the problem of merging different copies of the same registry after they have been modified ? (10 points) 4. What is the motivation for callbacks in AFS? (5 points) How does AFS handle the problem of lost callbacks? ( 5 points) 5. What does Amoeba to reduce the overhead of remote procedure calls (or remote operations as they are known in Amoeba parlance)? (5 points) 6. What is the major advantage of allowing Coda clients to operate in disconnected mode? (5 points)