Reading List

    Complexity

    Historical Perspective

  1. Edsger W. Dijkstra. The Structure of the "THE" Multiprogramming System. Communications of the ACM 11(5), May 1968.
  2. Per Brinch Hansen. The Nucleus of a Multiprogramming System. Communications of the ACM 13(4), April 1970.
  3. W. Wulf, E. Cohen, W. Corwin, A. Jones, R. Levin, C. Pierson, and F. Pollack. HYDRA: The Kernel of a Multiprocessor Operating System. Communications of the ACM 17(6), June 1974, pp. 337-344.
  4. R. Levin, E. Cohen, W. Corwin, F. Pollack, and W. Wulf. Policy/Mechanism Separation in Hydra. Proc. of the 5th Symposium on Operating Systems Principles, November 1975, pp. 132-140.
  5. David D. Redell, Yogen K. Dalal, Thomas R. Horsley, Hugh C. Lauer, William C. Lynch, Paul R. McJones, Hal G. Murray, and Stephen C. Purcell. Pilot: An Operating System for a Personal Computer. Communications of the ACM 23(2), February 1980, pp. 81-92.
  6. Dennis M. Ritchie and Ken Thompson. The UNIX Timesharing System. Communications of the ACM 17(7), July 1974.
  7. Richard Gabriel. The Rise of Worse is Better in "Lisp: Good News, Bad News, How to Win Big", 1993.
  8. Modern OS Structures

  9. B. Bershad, S. Savage, P. Pardyak, E. Sirer, M. Fiuczynski, D. Becker, C. Chambers, and S. Eggers. Extensibility, Safety and Performance in the SPIN Operating System. Proc. of the 15th ACM. Symp. on Operating Systems Principles, December 1995.
  10. Jeffrey Chase, Henry Levy, Michael Feeley, and Edward Lazowska. Sharing and Protection in a Single Address Space Operating System. ACM Trans. on Computer Systems, November 1994.
  11. Dawson R. Engler and M. Frans Kaashoek. Exterminate All Operating System Abstractions. Fifth Workshop on Hot Topics in Operating Systems (HotOS-V), Orcas Island, Washington, May, 1995
    1. Extra Material:

    2. Michael Young, Avadis Tevanian, Jr., Richard Rashid, David Golub, Jeffrey Eppinger, Jonathan Chew, William Bolosky, David Black, and Robert Baron. The Duality of Memory and Communication in the Implementation of a Multiprocessor Operating System. In 11th Symp. on Operating Systems Principles, pages 63--76, 1987.

    Performance

    Memory Management

  12. H. M. Levy and P. H. Lipman. Virtual memory management in the VAX/VMS operating system. Computer, 15(3):35--41, March 1982.
  13. O. Babaogul and W. Joy. Converting a Swap-Based System to do Paging in an Architecture Lacking Page-Reference Bits. Proceedings of the Eighth ACM Symposium on Operating System Principles, December 1981, pages 78-86.
  14. Communication

  15. Andrew D. Birrell and Bruce Jay Nelson. Implementing Remote Procedure Calls. ACM Trans. on Computer Systems 2(1), February 1984, pp. 39-59.
  16. Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy. Lightweight Remote Procedure Call. ACM Trans. on Computer Systems 8(1), February 1990, pp.37-55.
  17. Jeremy Sugerman, Ganesh Venkitachalam, and Beng-Hong Lim, VMware, Inc Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor.in Procedings Usenix Annual Technical Conference, June 2001
    1. Extra material:

    2. Thorsten von Eicken, David E. Culler, Seth C. Goldstein, and Klaus E. Schauser. Active Messages: a Mechanism for Integrated Communication and Computation. Proc. of the 19th Int. Symp. on Computer Architecture, May 1992, pp. 256 ---266.
    3. Michael D. Schroeder, Andrew D. Birrell and Roger M. Needham. Experience with Grapevine: The Growth of a Distributed System. ACM Trans. on Computer Systems, 2(1), February 1984.

    Scheduling

  18. Thomas Anderson, Brian Bershad, Edward Lazowska, and Henry Levy. Scheduler Activations: Effective Kernel Support for the User-Level management of Parallelism. ACM Trans. on Computer Systems 10(1), Feburary 1992, pp. 53-79.
  19. Banga, G., Druschel, P,. Mogul, J. Resource Containers: A New Facility for Resource Management in Server Systems. Proceedings of the Third Symposium on Operating System Design and Implementation (OSDI-III), New Orleans, LA, February, 1999, pages 45-58.
  20. File Systems and Storage

  21. Marshall K. McKusick, William N. Joy, Samuel J. Leffler, and Robert S. Fabry. A Fast File System for UNIX. ACM Trans. on Computer Systems 2(3), August 1984, pp. 181-197.
  22. Mendel Rosenblum and John K. Ousterhout. The Design and Implementation of a Log-Structured File System. ACM Trans. on Computer Systems 10(1), February 1992, pp. 26-52.
  23. John H. Howard, Michael L. Kazar, Sherri G. Menees, David A. Nichols, M. Stayanayanan, Robert N. Sidebotham, and Michael J. West. Scale and Performance in a Distributed File System. ACM Trans. on Computer Systems 6(1), February 1988, pp. 51-81.
  24. E. K. Lee and C. A. Thekkath. Petal: Distributed virtual disks. In Proc. 7th Int. Conf. Architectural Support for Programming Languages and Operating Systems (ASPLOS) , pages 84--92, October 1996.
  25. Chandramohan Thekkath, Timothy Mann, and Edward Lee. Frangipani: A Scalable Distributed File System . Proc. of the 16th ACM Symposium on Operating Systems Principles, October 1997, pages 224-237.
  26. Reliability


    Principles

  27. Jim Gray. Why Do Computers Stop and What Can Be Done About It? . Tandem Tech Report TR-85.7, June 1985.
  28. Approaches

  29. Michael M. Swift, Brian N. Bershad, and Henry M. Levy. Improving the Reliability of Commodity Operating Systems. in Proceedings of the 19th ACM Symposium on Operating Systems Principles, Oct. 2003.
  30. J. H. Saltzer, D. P. Reed, and D. D. Clark. End-To-End Arguments in System Design. ACM Transactions on Computer Systems, November 1984, pages 277-288.
  31. David Patterson, Aaron Brown, Pete Broadwell, George Candea, Mike Chen, James Cutler, Patricia Enriquez, Armando Fox, Emre Kiciman, Matthew Merzbacher, David Oppenheimer, Naveen Sastry, William Tetzlaff, Jonathan Traupman, and Noah Treuhaft. Recovery Oriented Computing (ROC): Motivation, Definition, Techniques, and Case Studies. Technical Report CSD-02-1175, U.C. Berkeley, 2002.
  32. Robert Haskin, Yoni Malachi and Gregory Chan. Recovery Management in QuickSilver. ACM Trans. on Computer Systems 6(1), February 1988, pp. 82-108.
    1. Extra Material:

    2. Dawson Engler, David Yu Chen, Seth Hallem, Andy Chou, and Benjamin Chelf. Bugs as deviant behavior: a general approach to inferring errors in systems code. In Proceedings of the 18th ACM Symposium on Operating Systems Principles, pages 57--72, Banff, Alberta, Canada, October 21--24, 2001.
    3. Andy Chou, Junfeng Yang, Benjamin Chelf, Seth Hallem, and Dawson Engler. An empirical study of operating systems errors. In Proceedings of the 18th ACM Symposium on Operating Systems Principles (SOSP18), pages 73--88, October 2001.
    4. Dawson Engler, Benjamin Chelf, Andy Chou, and Seth Hallem. Checking System Rules Using System Specific, Programmer-Written Compiler Extensions. Proceedings of the Fourth Symposium on Operating Systems Design and Implementation, San Diego, CA, October 2000.
    5. Robert Wahbe, Steven Lucco, Thomas E. Anderson, and Susan L. Graham, Efficient Software-Based Fault Isolation. In Proc. of the 14th ACM Symposium on Operating Systems Principles (SOSP '93), pages 203--216, December 1993.
    6. Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, and Andrew Warfield. Xen and the Art of Virtualization Proc. of the 19th ACM Symp. on Operating Systems Principles, October 2003.
    7. Frank Schmuck and Jim Wyllie. Experience with Transactions in Quicksilver. Proceedings of the 12th ACM Symposium on Operating Systems Principles (Asilomar, CA; Oct. 1991)

    Security

  33. Jerome H. Saltzer and Michael D. Schroeder. The protection of information in computer systems. Proceedings of the IEEE, 63(9):1278--1308, September 1975.
  34. Roger M. Needham and Michael D. Schroeder. Using Encryption for Authentication in Large Networks of Computers. Communications of the ACM 21(12), December 1978, pp.993-998.
  35. David Mazieres, Michael Kaminsky, M. Frans Kaashoek, and Emmett Witchel. Separating key management from file system security. In Proceedings of the 17th ACM Symposium on Operating Systems Principles, pages 124--139, Kiawa Island, SC, 1999. ACM.
  36. Tal Garfinkel, Ben Pfaff, Jim Chow, Mendel Rosenblum, and Dan Boneh. Terra: a virtual machine-based platform for trusted computing. In Proceedings of the nineteenth ACM symposium on Operating systems principles, pages 193--206. ACM Press, 2003.
    1. Extra Material

    2. Butler Lampson, Martín Abadi, Mike Burrows, and Edward Wobber. Authentication in distributed systems: Theory and Practice. In Proceedings of the 13th ACM Symposium on Operating System Principles, pages 165-182, 1991.

    OSDI Papers


  37. Mike Burrows. The Chubby Lock Service for Loosely-Coupled Distributed Systems In Proceedings of the Operating Systems Design and Implementation (OSDI 2006, Nov 2006.
  38. Nickolai Zeldovich, Silas Boyd-Wickizer, Eddie Kohler and David Mazières. Making Information Flow Explicit in HiStar In Proceedings of the Operating Systems Design and Implementation (OSDI 2006, Nov 2006.
  39. Manageability


  40. R. Chandra, N. Zeldovich, C. Sapuntzakis, and M. S. Lam. The Collective: A Cache-Based System Management Architecture . In Proceedings of the Second Symposium on Networked Systems Design and Implementation (NSDI 2005), pages 259-272, May 2005.
  41. Y. Saito, B. Bershad and H. Levy. Manageability, Availability and Performance in Porcupine: A Highly Scalable Internet Mail Service. Proc. of the 17th ACM Symp. on Operating Systems Principles, Dec. 1999.
    1. Extra material

    2. Jeffrey O. Kephart and David M. Chess. The vision of autonomic computing. IEEE Computer 36(1):41--52, 2003.
    3. Yixin Diao, Joseph L. Hellerstein, Sujay Parekh, Rean Griffith, Gail Kaiser and Dan Phung. Self-Managing Systems: A Control Theory Foundation.12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'05) pp. 441-448, 2005.