CS 736 Spring 1998
Advanced Operating Systems
Reading List

This is the list of readings for CS 736, and the approximate order in which we will read them. Changes to this list are possible during the course of the semester. A tentative schedule is provided below.

    Synchronization and Communication

  1. B. W. Lampson and D. D. Redell, ``Experiences with Processes and Monitors in Mesa'', Communications of the ACM 23, 2 (February 1980), 105-117.
  2. M. Jones, ``What really happened on Mars Rover Pathfinder'', RISKS Digest (risks@csl.sri.com) 19, 49 (December 1997).
  3. C. A. R. Hoare, ``Communicating Sequential Processes'', Communications of the ACM 21, 8 (August 1978), 666-677.
  4. T. E. Anderson, B. N. Bershad, E. D. Lazowska and H. M. Levy, ``Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism'', ACM Transactions on Computer Systems 10, 1 (February 1992), 53-79.
  5. H. Massalin and C. Pu, ``Threads and Input/Output in the Synthesis Kernel'', Proceedings of the Twelfth ACM Symposium on Operating System Principles, Operating Systems Review 23, 5 (December 3-6, 1989), 191-201.
  6. B. N. Bershad, T. E. Anderson, E. D. Lazowska and H. M. Levy, ``Lightweight Remote Procedure Call'', ACM Transactions on Computer Systems 8, 1 (February 1990), 37-55.

    Memory Organization and Management

  7. P. J. Denning, ``The Working Set Model of Program Behavior'', Communications of the ACM 11, 5 (May 1968), 323-333.
  8. R. Carr and J. Hennessy, ``WSCLOCK-A Simple and Effective Algorithm for Virtual Memory Management'', Proceedings of the Eighth ACM Symposium on Operating System Principles, Operating Systems Review 15, 5 (December 1981), 87-95.
  9. O. Babaoglu 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, Operating Systems Review 15, 5 (December 1981), 78-86.
  10. M. Young, A. Tevanian, R. Rashid, D. Golub, J. Eppinger, J. Chew, W. Bolosky, D. Black and R. Baron, ``The Duality of Memory and Communication in the Implementation of a Multiprocessor Operating System'', Proceedings of the Eleventh ACM Symposium on Operating System Principles, Operating Systems Review 21, 5 (November 8-11, 1987), 63-76.

    File Systems

  11. M. K. McKusick, W. N. Joy, S. J. Leffler and R. S. Fabry, ``A Fast File System for UNIX'', ACM Transactions on Computer Systems 2, 3 (August 1984), 181-197.
  12. M. Rosenblum and J. K. Ousterhout, ``The Design and Implementation of a Log-Structured File System'', Proceedings of the Thirteenth ACM Symposium on Operating System Principles, Operating Systems Review 25, 5 (October 13-16 1991), 1-15.
  13. V. Srinivasan and J. C. Mogul, ``Spritely NFS: Experiments with cache-consistency protocols'', Proceedings of the Twelfth ACM Symposium on Operating System Principles, Operating Systems Review 23, 5 (December 3-6, 1989), 45-57.
  14. J. H. Howard, M. L. Kazar, S. G. Menees, D. A. Nichols, M. Satyanarayanan, R. N. Sidebotham and M. J. West, ``Scale and Performance in a Distributed File System'', ACM Transactions on Computer Systems 6, 1 (February 1988), 51-81.
  15. B. Walker, G. Popek, R. English, C. Kline and G. Thiel, ``The LOCUS Distributed Operating System'', Proceedings of the Ninth ACM Symposium on Operating System Principles, Operating Systems Review 17, 5 (October 10-13, 1983), 49-70.
  16. J. J. Kistler and M. Satyanarayanan, ``Disconnected Operation in the Coda File System'', Proceedings of the Twelfth ACM Symposium on Operating System Principles, Operating Systems Review 23, 5 (December 3-6, 1989), 213-225.
  17. D. A. Patterson, G. Gibson and R. H. Katz, ``A Case for Redundant Arrays of Inexpensive Disks (RAID)'', Proceedings ACM SIGMOD International Conference on Management of Data, 1988, 109-116.

    Case Studies and Experiences

  18. H. C. Lauer, ``Observations on the Development of an Operating System'', Proceedings of the Eighth ACM Symposium on Operating System Principles, Operating Systems Review 15, 5 (December 1981), 30-36.
  19. B. W. Lampson, ``Hints for Computer System Design'', Proceedings of the Ninth ACM Symposium on Operating System Principles, Operating Systems Review 17, 5 (October 10-13, 1983), 33-48.

    Protection and Security

  20. A. Bensoussan, C. T. Clingen and R. C. Daley, ``The Multics Virtual Memory: Concepts and Design'', Communications of the ACM 15, 5 (May 1972), 308-318.
  21. R. S. Fabry, ``Capability-Based Addressing'', Communications of the ACM 17, 7 (July 1974), 403-412.
  22. A. K. Jones and W. A. Wulf, ``Towards the Design of Secure Systems'', Software-Practice & Experience 5, 4 (1975), 321-336.
  23. F. T. Gramp and R. H. Morris, ``UNIX Operating System Security'', AT&T Bell Laboratories Technical Journal 63, 8 (October 1984), 1649-1672.
  24. G. J. Popek and C. S. Kline, ``Encryption and Secure Computer Networks'', ACM Computing Surveys 11, 4 (December 1979), 331-356. Sections 1-3.
  25. J. G. Steiner, C. Neuman and J. I. Schiller, ``Kerberos: An Authentication Service for Open Network Systems'', USENIX '88, Dallas, TX, February 1988, 191-202.

    Distributed Systems

  26. A. D. Birrell, R. Levin, R. M. Needham and M. D. Schroeder, ``Grapevine: An Exercise in Distributed Computing'', Communications of the ACM 25, 4 (April 1982), 260-274.
  27. A. D. Birrell and B. J. Nelson, ``Implementing Remote Procedure Calls'', ACM Transactions on Computer Systems 2, 1 (February 1984), 39-59.
  28. D. R. Cheriton and W. Zwaenepoel, ``The Distributed V Kernel and its Performance for Diskless Workstations'', Proceedings of the Ninth ACM Symposium on Operating System Principles, Operating Systems Review 17, 5 (October 10-13, 1983), 128-139.

Schedule

The tentative schedule for this semester is as follows. It may be necessary to revise this schedule as the semester progresses. The complete bibilography is listed above.
Week 1 (Jan 20 - Jan 22)
Lampson and Redell: Monitors
Jones: Pathfinder
Week 2 (Jan 27 - Jan 29)
Hoare: CSP
Anderson et al: Scheduler Activations
Week 3 (Feb 3 - Feb 5)
Massalin and Pu: Systhesis Kernel
Bershad et al: LRPC
Week 4 (Feb 10 - Feb 12)
Denning: Working Sets
Carr and Hennesy: WSCLOCK
Week 5 (Feb 17 - Feb 19)
Ozalp and Joy: Unix Paging
Young et al: Mach
Week 6 (Feb 24 - Feb 26)
McKusick et al: Unix Fast File System
Week 7 (Mar 3 - Mar 5)
Rosenblum and Ousterhout: Log-structured File System
Srinivasan and Mogul: Spritely NFS
Week 8 (Mar 17 - Mar 19)
Howard et al: Andrew
Walker et al: Locus
Week 9 (Mar 24 - Mar 26)
Kistler and Satya: Coda
Patterson et al : RAID
Midterm Exam
Wednesday, March 25, 7:15 - 9:15pm, 1325 Computer Sciences and Statistics
Week 10 (Mar 31 - Apr 2)
Lauer: Observations
Lampson: Hints
Week 11 (Apr 7 - Apr 9)
Bensourssan et al: Multics
Fabry: Capibility-based Addressing
Week 12 (Apr 14 - Apr 16)
Jones and Wulf: Capabilities
Gramp and Morris: Unix Security
Week 13 (Apr 21 - Apr 23)
Popek and Kline: Encryption and Networks
Steiner et al: Kerberos
Week 14 (Apr 28 - Apr 30)
Birrell et al: Grapevine
Birrell and Nelson: Remote Procedure Call
Week 15 (May 5 - May 7)
Cheriton and Zwaenepoel: V Kernel
Project presentations
Final Exam
Tuesday, May 12, 2:45 - 4:45 pm, 1221 Computer Sciences and Statistics

solomon@cs.wisc.edu
Thu Apr 16 15:51:25 CDT 1998