664 Midterm Sample Questions

  1. Define each of the following terms and describe how it is reflected in "Application-Controlled Physical Memory Using External Page-Cache Management" (max 5 sentences each)
  2. Richard Gabriel's paper "Lisp: Good News, Bad News, How to Win Big" discussed two alternative schools of thought in approaching the design of systems. What are they? Select a paper we covered in which each philosophy can be seen and explain how it impacts the decisions made in that paper.
  3. We discussed the unified buffer cache (using memory for either a file system cache or page cache depending on current demand) several times in class. If you must choose between either a BSD Fast File System or LFS for both your files and to store memory pages, how would you alter the buffer cache algorithm for each type of filesystem?
  4. Some researchers have proposed letting multiple computers share the same hard drive and filesystem by placing multiple computers on the same SCSI bus. Obviously this sharing is at a much lower layer than an NFS protocol. Briefly discuss how you might implement such a system. How could you incorporate optimistic techniques similar to those discussed by Kung and Robinson into your system?
  5. Both "Converting a Swap-Based System to do Paging in an Architecture Lacking Page-Referenced Bits" and "Virtual Memory Management in the VAX/VMS Operating System" discuss paging algorithms. How are they similar? How are they different?
  6. In its conclusion, the paper "Concurrency Control Performance Modeling" claims to have evaluated a physically justifiable model to compare different concurrency algorithms, including "On Optimistic Methods for Concurrency Control." They argue their results indicate the optimistic methods do not perform well. Have Agrawal et al. studied the problem thoroughly, including all realistic workloads? Are there differences between the workload Agrawal uses and workloads where optimistic methods might be appropriate?
  7. Considering the results presented in "A Comparison of File System Workloads," would the Sprite LFS filesystem be good for the envionments studied by Roselli et al.?
  8. The performance improvements used by many of the papers in both the File Systems and Virtual Memory portions of the course involved minimizing the number of occurences of one particular type of operation. What was it? Pick one paper from each section and explain how it reduces this type of operation.
  9. Compare and contrast the fairness and sharing algorithms used in "Application-Controlled Physical Memory Using External Page-Cache Management" and "Memory Resource Management in VMware ESX Server."
  10. The papers "Application-Controlled Physical Memory Using External Page-Cache Management," "Scheduler Activations: Effective Kernel Support for the User-level Management of Parallelism," and "Safe Kernel Extensions Without Run-time Checking" all try to give the user control of functions normally considered to be core kernel functions. How does each handle security and fairness? What are the performance impacts? Could Necula and Lee's idea be applied to the problems in the first two papers? How? Would it make a difference?
  11. "FUSE: Lightweight Guaranteed Distributed Failure Notification" provides us with a way to detect failure in a distributed system and "Flashback: A Lightweight Extension for Rollback and Deterministic Replay for Software Debugging" provides a way to rollback a process after it encounters an error. Could these two ideas be combined into a distributed system that supports rollback? What problems would this solve or not solve? What additional features or services would be required to make it work?
  12. "Journaling Versus Soft Updates: Asynchronous Meta-data Protection in File Systems," "Flashback: A Lightweight Extension for Rollback and Deterministic Replay for Software Debugging," and "FUSE: Lightweight Guaranteed Distributed Failure Notification" all present methods for ensuring consistency. What is consistency and how does it apply to each of these ideas?
  13. Both "Myths and Realities: The Performance Impact of Garbage Collection" and "The Design and Implementation of a Log-Structured File System" discuss locality, although for different reasons. Why is locality important to each and what methods can be used to ensure locality?

Bruce B. Lowekamp