Reading List

Complexity

  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. Jack B. Dennis and Earl C. Van Horn. Programming Semantics for Multiprogrammed Computations. Communications of the ACM 9(3), March 1966, pp. 143-155.
  4. 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.
  5. 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.
  6. Dennis M. Ritchie and Ken Thompson. The UNIX Timesharing System. Communications of the ACM 17(7), July 1974.
  7. 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
  8. Richard Gabriel. The Rise of Worse is Better in "Lisp: Good News, Bad News, How to Win Big", 1993.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. Andrew D. Birrell and Bruce Jay Nelson. Implementing Remote Procedure Calls. ACM Trans. on Computer Systems 2(1), February 1984, pp. 39-59.
  14. CANCELLED: Kai Li and Paul Hudak. Memory Coherence in Shared Virtual Memory Systems. Proceedings of the Fifth Annual ACM Symposium on Principles of Distributed Computing, August 11-13, 1986, Calgary, Alberta, pp. 229-239.
  15. Performance

  16. 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.
  17. 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.
  18. 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.
  19. 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.
  20. CANCELLED: Thomas Anderson, Edward Lazowska, and Henry Levy. The Performance Implications of Thread Management Alternatives for Shared-Memory Multiprocessors. IEEE Trans. on Computers 38(12), December 1989, pp. 1631-1644.
  21. C. Waldspurger and W. Weihl. Lottery Scheduling: Flexible Proportional-Share Resource Management. Proceedings of the First USENIX Symposium on Operating System Design and Implementation, November 1994.
  22. 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.
  23. 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.
  24. 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.
  25. Russel Sandberg, David Goldberg, Steve Kleiman, Dan Walsh, and Bob Lyon. Design and Implementation of the Sun Network Filesystem .Proceedings of the Summer 1985 USENIX Conference, Portland OR, June 1985, pp. 119-130.
  26. 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.
  27. 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.
  28. Baker, M., Hartman, J., Kupfer, M., Shirriff, K., and Ousterhout, J. Measurements of a Distributed File System. Proceedings of the Thirteenth Symposium on Operating System Principles, Pacific Grove CA, October 1991, pp. 198-212.
  29. Reliability

  30. Jim Gray. Why Do Computers Stop and What Can Be Done About It? . Tandem Tech Report TR-85.7, June 1985.
  31. Anita Borg, Wolfgang Blau, Wolfgang Graetsch, Ferdinand Herrmann, and Wolfgang Oberle. Fault tolerance under UNIX. ACM Transactions on Computer Systems, 7(1), February 1989.
  32. C. Bressoud and F. B. Schneider. Hypervisor-based Fault Tolerance. In Proc. 15th ACM Symposium on Operating Systems Principles (SOSP), Dec. 1995.
  33. Michael M. Swift, Brian N. Bershad, and Henry M. Levy. Improving the Reliability of Commodity Operating Systems. ACM Trans. on Computer Systems 23(1), February 2005, pp. 77-110.
  34. Kinshuk Govil, Dan Teodosiu, Yongqiang Huang, and Mendel Rosenblum. Cellular Disco: resource management using virtual clusters on shared-memory multiprocessors. In Proceedings of 17th Symposium on Operating Systems Principles, 1999.
  35. 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.
  36. Extra Material:

    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.
  37. 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.
  38. 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.
  39. 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.
  40. Robert Haskin, Yoni Malachi and Gregory Chan. Recovery Management in QuickSilver. ACM Trans. on Computer Systems 6(1), February 1988, pp. 82-108.
    or
    Frank Schmuck and Jim Wyllie. Experience with Transactions in Quicksilver. Proceedings of the 12th ACM Symposium on Operating Systems Principles (Asilomar, CA; Oct. 1991)
  41. Security

  42. Jerome H. Saltzer and Michael D. Schroeder. The protection of information in computer systems. Proceedings of the IEEE, 63(9):1278--1308, September 1975.
  43. 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.
  44. J. G. Steiner, C. Neuman and J. I. Schiller. Kerberos: An Authentication Service for Open Network Systems. USENIX '88, Dallas, TX, February 1988, pp. 191-202.
  45. 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.
  46. Ken Thompson. Reflections on Trusting Trust. Communications of the ACM, vol. 27, pp. 761--763, August 1984.
  47. Ross J. Anderson, Why Information Security is Hard -- An Economic Perspective. in Proceedings of the Seventeenth Computer Security Applications Conference, IEEE Computer Society Press (2001), pp 358--365.
  48. Supplemental Material

  49. Jerome H. Saltzer. Protection and the control of information sharing in Multics. Communications of the ACM, (7):388-402, July 1974.
  50. 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.
  51. Butler W. Lampson. A note on the confinement problem. Communications of the ACM, 16(10), page 613--615, 1973.
  52. Ross J. Anderson. Why cryptosystems fail. Communications of the ACM, 37(11):32--40, November 1994.
  53. Manageability


  54. 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.
  55. Armando Fox, Steven Gribble, Yatin Chawathe, Eric Brewer, and Paul Gauthier. Cluster-based Scalable Network Services . Proc. of the 16th ACM Symp. on Operating Systems Principles, October 1997, pp. 78-91.
  56. 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.
  57. Jeffrey O. Kephart and David M. Chess. The vision of autonomic computing. IEEE Computer 36(1):41--52, 2003.
  58. 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.
  59. 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.
  60. Aaron B. Brown and David A. Patterson. Undo for operators: Building an undoable e-mail store. In Proc. USENIX Annual Technical Conference, San Antonio, TX, 2003.