Reference Materials
CS-3013, Operating Systems

The following papers are relevant to the subject matter presented in class:–

Dijkstra, E. W., “Solution of a Problem in Concurrent Programming Control,” Communications of the ACM, vol. 8, #9, Sept. 1965, p 569. (.pdf)

Dijkstra, E. W., “The Structure of the ‘THE’-Multiprogramming System,” Communications of the ACM, vol 11, #5, May 1968, pp.341-346 (.pdf)

Gray, Jim, “Notes on Database Operating Systems,” in Operating Systems: an Advanced Course, vol 60 of Lecture Notes in Comp. Sci., Springer-Verlag, 1978, pp. 393-481 (.pdf)

Herlihy, Maurice, “Wait-Free Synchronization,” ACM Transactions on Programming Languages and Systems, vol 11, #1, January 1992, pp. 124-149 (.pdf )

Hoare, C.A.R., “Monitors: An Operating System Structuring Concept,” Communications of ACM, vol. 17, Oct. 1974, pp. 549-557. (.pdf); correction (.pdf)

Howard, John H., Kazar, Michael L., Menees, Sherri G., Nichols, David A., Satyanarayanan, M., Sidebotham, Robert N., and West, Michael J., “Scale and Performance in a Distributed File System,” ACM Transactions on Computer Systems, Vol 6, #1, Feb 1988, pp. 51-81. (.pdf)

Lampson, B.W., and Redell, D. D., “Experience with Processes and Monitors in Mesa,” Communications of ACM, vol. 23, Feb. 1980, pp. 105-117. (.pdf)

Lampson, B.W., and Sturgis, H. E., “Crash Recovery in a Distributed Data Storage System.”

This widely referenced paper was not published anywhere. A copy of an original Xerox PARC report dated April 27, 1979 is here (.pdf). A later version dated June 1, 1979 appears here (.pdf). This later version carries the following footnote:– “This paper was circulated in several drafts, but it was never published. Much of the material appeared in Distributed Systems—Architecture and Implementation, ed. Lampson, Paul, and Siegert, Lecture Notes in Computer Science 105, Springer, 1981, pp 246-265 and pp 357-370.

Lauer, H.C. and Needham, R.M., “On the Duality of Operating System Structures,” Operating Systems Review, vol 13, #2, April 1979, pp. 3-19. (.pdf)

Liu, C. L. and Layland, James W., “Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment,” Journal of the Association for Computing Machinery (JACM), vol. 20, #1, January 1973, pp-46-61. (.pdf)

Redell, D. D. et al. “Pilot: An Operating System for a Personal Computer,” Communications of ACM, vol. 23, Feb. 1980, pp. 81-91. (.pdf)

Ritchie, D. M. and Thompson, K., “The UNIX Time-Sharing System,” Communications of ACM, vol 17, #7, July 1974, pp. 365-375. (.pdf)

Rosenblum, M, and Ousterhout, J. K., “The Design and Implementation of a Log-Structured File System,” Proceedings of 13th ACM Symposium on Operating Systems Principles, Pacific Grove, California, October 1991, pp. 1-15. (.pdf)

Thompson, Ken, “Reflections on trusting trust,” Communications of ACM, vol.27, #8, August 1984, pp. 761-763 (.pdf)

Waldo, Jim, Wyant, Geoff, Wollrath, Ann, and Kendall, Sam, “A Note on Distributed Computting,” Sun Microsystems Laboratories, Inc., Technical Report SMLI TR-94-29, November 1994 (.pdf)

Back to CS-3013 home page