Computer Science | School of Engineering | UC Santa Cruz
Home | Syllabus | Schedule | Reading List | Project

CMPS 221: Advanced Operating Systems
Fall 2011

Reading List

This is the reading list for the Fall 2003 section of CMPS 221 at UC Santa Cruz. We will cover the papers in this order during the quarter. The papers are available for download in Adobe PDF by students in the class.

There are two types of papers: required and optional. Required papers must be read before the class in which they will be covered. You should try to read as many optional papers as you can, particularly in topics that interest you. You are encouraged to go beyond this reading list as well and find more papers on these topics. You will have to do this for your projects as well as throughout your graduate career—taking the initiative to find and read papers on your research is essential for success in graduate school.

You will need to write a summary for each (required) paper that you read. The summary must answer eight questions (briefly!); a sample summary is available online.

Get Acrobat Reader

Early systems / history

Required

  1. J. Fotheringham, "Dynamic Storage Allocation in the Atlas Computer, Including an Automatic Use of a Backing Store," Communications of the ACM, Vol. 4, No.10, Oct. 1961, pp. 435–436.
  2. F. J. Corbató, M. M. Daggett, and R. C. Daley, "An Experimental Time-Sharing System," Proceedings of the AFIPS 1962 Spring Joint Computer Conference (SJCC), May 1962, pages 335–344.
  3. F. J. Corbató and V. A. Vyssotsky, "Introduction and Overview of the Multics System," Proceedings of the AFIPS 1965 Fall Joint Computer Conference (FJCC), 1965, Spartan Books: New York, pp. 185–196.
  4. E. W. Dijkstra, "The Structure of the THE Multiprogramming System," Communications of the ACM, Vol. 11, No. 5, May 1968, pp. 341–346.
  5. D. M. Ritchie and K. Thompson, "The UNIX Time-sharing System," Bell System Technical Journal, Vol. 57, No. 6, 1978, pp. 1905–1929.

Optional

Kernel structures

Required

  1. M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young, "Mach: A New Kernel Foundation for Unix Development," Proceedings of the USENIX Summer Conference, July 1986.
  2. B. Bershad, S. Savage, P. Pardyak, E. G. Sirer, D. Becker, M. Fiuczynski, C. Chambers and S. Eggers, "Extensibility, Safety and Performance in the SPIN Operating System," Proceedings of the 15th Symposium on Operating System Principles (SOSP), Dec. 1995, pp. 267-284.
  3. M. F. Kaashoek, D. R. Engler, G. R. Ganger, H. M. Briceño, R. Hunt, D. Mazières, T. Pinckney, R. Grimm, J. Jannotti, and K. MacKenzie, "Application Performance and Flexibility on Exokernel Systems," Proceedings of the 16th Symposium on Operating Systems Principles (SOSP), Oct. 1997, pp. 52–65.
  4. M. Seltzer, Y. Endo, C. Small and K. Smith, "Dealing with Disaster: Surviving Misbehaved Kernel Extensions," Proceedings of the Second Symposium on Operating System Design and Implementation (OSDI) , October 1996.

Optional

Memory management

Required

  1. H. M. Levy and P. H. Lipman, "Virtual Memory Management in the VAX/VMS Operating System," IEEE Computer, March 1982, pp. 35–41.
  2. O. Babaoglu and W. Joy, "Converting a Swap-Based System to do Paging in an Architecture Lacking Page Reference Bits," Proceedings of the 8th Symposium on Operating Systems Principles (SOSP), 1981, pp. 78-85.
  3. M. Talluri, M. D. Hill and Y. A. Khalidi, "A New Page Table for 64-bit Address Spaces," Proceedings of the 15th Symposium on Operating Systems Principles (SOSP), 1995, pp. 184–199.
  4. J. S. Chase, H. M. Levy, M. J. Feeley, and E. D. Lazowska, "Sharing and Protection in a Single-Address-Space Operating System," ACM Transactions on Computer Systems, volume 12, number 4, Nov. 1994, pp. 271–307.

Optional

File systems

Required

  1. M. K. McKusick, W. N. Joy, S. J. Leffler and R. S. Fabry, "A Fast File System for UNIX," ACM Transactions on Computer Systems, Vol. 2, No. 3, August 1984, pp. 181–197.
  2. M. Rosenblum and J. K. Ousterhout, "The Design and Implementation of a Log-Structured File System," ACM Transactions on Computer Systems, Vol. 10, No. 1, February 1992, pp. 26-52.
  3. D. Hitz, J. Lau, and M. Malcolm, "File System Design for an NFS File Server Appliance," Proceedings of the USENIX Winter 1994 Technical Conference, Jan. 1994, pp. 235–246.
  4. A. Sweeney, D. Doucette, W. Hu, C. Anderson, M. Nishimoto, G. Peck, "Scalability in the XFS File System," Proceedings of the 1996 USENIX Technical Conference, Jan. 1996.
  5. A. Muthitacharoen, B. Chen, and D. Mazières, "A Low-Bandwidth Network File System," Proceedings of the 18th ACM Symposium on Operating Systems Principles (SOSP), Oct. 2001, pp. 174–187.
  6. S. A. Weil, S. A. Brandt, E. L. Miller, D. D. E. Long, and C. Maltzahn, “Ceph: A
    Scalable, High-Performance, Distributed Object-based Storage System
    ,” Symposium on Operating Systems Design and Implementation (OSDI ’06), Seattle, Washington, November 6–8. 2006, to appear.

Optional

Authentication, protection, and security

Required

  1. B. W. Lampson, "A Note on the Confinement Problem," Communications of the ACM, Vol. 16, No. 10, Oct. 1973, pp. 613–615.
  2. J. H. Saltzer, "Protection and the Control of Information Sharing in Multics ," Communications of the ACM, Vol. 17, No. 7, July 1974, pp. 388–402.
  3. R. Needham and M. Schroeder, "Using Encryption for Authentication in Large Networks of Computers," Communications of the ACM, Vol. 21, No. 12, Dec. 1978, pp. 993-999.
  4. J. G. Steiner, C. Neuman and J. I. Schiller, "Kerberos: An Authentication Service for Open Network Systems," Proceedings of the Winter 1988 USENIX Conference, 1988, pp. 205–211.

Optional

Synchronization

Required

  1. C. A. R. Hoare, "Monitors: An Operating System Structuring Concept," Communications of the ACM, Vol. 17, No. 10, October 1974, pp. 549–557.
  2. L. Lamport, "A Fast Mutual Exclusion Algorithm," ACM Transactions on Computer Systems, Vol. 5, No. 1, Feb. 1987, pp. 1–11

Optional

Scheduling

Required

  1. C. A. Waldspurger and W. E. Weihl, "Lottery Scheduling: Flexible Proportional-Share Resource Management," Proceedings of the Symposium on Operating System Design and Implementation (OSDI), Nov. 1994, pp. 1–11.
  2. F. Douglis, "Transparent Process Migration: Design Alternatives and the Sprite Implementation," Software Practice & Experience, Vol. 21, No. 8, 1991, pp. 757–785.

Optional

Real-Time Systems

Required

  1. A. Burns, "Scheduling Hard Real-Time Systems: A Review," Software Engineering Journal, May 1991, pp. 116-128.
  2. S. Brandt, S. Banachowski, C. Lin, and T. Bisson, "Dynamic Integrated Scheduling of Hard Real-Time, Soft Real-Time, and Non-Real-Time Processes," The IEEE Real-Time Systems Symposium (RTSS 2003), December, 2003.

Optional

Communication and distributed systems

Required

  1. J. F. Shoch and J. A. Hupp, "The 'Worm' Programs—Early Experience with a Distributed Computation," Communications of the ACM, Vol. 25, No. 3, March 1982, pp. 172–180.
  2. M. D. Schroeder, A. D. Birrell and R. M. Needham, "Experience with Grapevine: the Growth of a Distributed System," ACM Transactions on Computer Systems, Vol. 2, No. 1, February 1984, pp. 3–23.
  3. L. Lamport, "Time, Clocks, and the Ordering of Events in a Distributed System," Communications of the ACM, Vol. 21, No. 7, July 1978, pp. 558–565.
  4. D. R. Cheriton and D. Skeen, "Understanding the Limitations of Causally and Totally Ordered Communication," Proceedings of the 14th Symposium on Operating Systems Principles (SOSP), December 1993, pp. 44–57.
  5. Sape J. Mullender, Guido van Rossum, Andrew S. Tanenbaum, Robbert van Renesse, Hans van Staveren, "Amoeba--A Distributed Operating System for the 1990s," IEEE Computer, May 1990.
  6. Rob Pike, Dave Presotto, Ken Thompson, Howard Trickey, "Plan 9 From Bell Labs," Proceedings fo the Summer 1990 UKUUG Conference, 1990.
  7. John K. Ousterhout, Andrew R. Cherenson, Frederick Douglis, Michael N. Nelson, Brent B. Welch, "The Sprite Network Operating System," IEEE Computer, Vol. 21 No. 2, February 1988.

Optional

Reliability & fault tolerance

Required

  1. R. Rodrigues, M. Castro, and B. Liskov, "BASE: Using Abstraction to Improve Fault Tolerance," Proceedings of the 18th ACM Symposium on Operating Systems Principles (SOSP '01), October 2001, pages 15–28.
  2. A. Chou, J. Yang, B. Chelf, S. Hallem, and D. Engler, "An Empirical Study of Operating Systems Errors," Proceedings of the 18th ACM Symposium on Operating Systems Principles (SOSP), Oct. 2001, pp. 73–88.

Optional

Performance evaluation

Required

  1. J. Ousterhout, "Why Aren't Operating Systems Getting Faster as Fast as Hardware?", Proceedings of the Summer 1990 USENIX Conference, June 1990, pp. 247–256.
  2. M. Rosenblum, E. Bugnion, S. A. Herrod, E. Witchel, and A. Gupta, "The Impact of Architectural Trends on Operating System Performance," Proceedings of the 15th ACM Symposium on Operating Systems Principles (SOSP), December 1995, pp. 285–298.

Optional

Miscellanea

Required

  1. R. Levin and D. D. Redell, "An Evaluation of the Ninth SOSP Submissions," Operating Systems Review, Vol. 17, No. 3, July 1983, pp. 35-40. [distributed by USENIX with permission]

Prof. Scott A. Brandt (scott@cs.ucsc.edu)