UNIVERSITY OF HOUSTON Department of Computer Science COSC 6360--Operating Systems QUALIFYING EXAMINATION Graduate Part FINAL EXAMINATION Part I May 8, 1996 This exam is closed book. You can have two sheets (i.e., four pages) of notes. 1. Extensible Operating Systems: There are two ways to build extensible operating systems. The first approach is to have a small microkernel and put many services traditionally included in the kernel into user space. Another approach is to allow incremental changes to the kernel. What is the major advantage and the major danger of this second approach? What would you propose to do to make the approach safer (or at least less dangerous)? (20 points) 2. Object Server: Consider a distributed storage system providing long-lived data objects to a large number of clients over a network. This server could export: a) small-grain objects that are semantically meaningful to its clients, or b) fixed-size data blocks that reflect its own disk organization. Discuss in some detail the trade-off between the two solutions focusing on their impact on the management of the server's memory hierarchy. (20 points) You should know that (a) main memory is a critical resource and (b) all modified objects must be immediately recorded somewhere in stable storage UNIVERSITY OF HOUSTON Department of Computer Science COSC 6360--Operating Systems FINAL EXAMINATION Part II May 8, 1996 This exam is closed book. You can have two sheets (i.e., four pages) of notes. 1. Given m clocks Ci (t) that are within time units of each other and are neither very fast nor very slow, that is, with 1, describe a protocol that would keep these clocks sufficiently synchronized to prevent most anomalous behaviors? (2×5 points) 2. What is the function of authenticators in Kerberos? (5 points). What could be done to defeat their purpose? (5 points) 3. What was the problem raised by large distribution lists in Grapevine and what was done to solve it? (2×5 points) 4. What is sequential sharing in Sprite? (5 points) Why is there no sequential sharing in AFS and Coda? (5 points) 5. Hartman and Ousterhout argue in their Zebra paper that log- structured file systems are good candidates for file striping. What is the essence of their argument? (5 points) 6. According to Carter et al., what is the best consistency protocol for distributed applications where all conflicting shared-memory accesses are synchronized through semaphores or some other mechanism and why? (5 points) 7. It has been proposed to store witnesses in volatile memory to improve their access times. What needs then to be done to prevent the replicated data from remaining permanently inaccessible? (5 points) 8. What did Tanenbaum et al. do to make their Bullet file system as fast as possible? (5 points)