The academic honesty guidelines outlined by Charles Elkan for CSE 130 apply to this course.
E. W. Dijkstra, The Structure of the 'THE'-Multiprogramming System, Communications of the ACM, Vol. 11, No. 5, May 1968, pp. 341-346.
(Additional historical background on semaphores in Wikipedia)
D. M. Ritchie and K. Thompson, "The UNIX Time-Sharing System," The Bell System Technical Journal, Vol. 57, No. 6, July-August 1978, pp. 1905-1929.
C. A. R. Hoare, "Monitors: An Operating System Structuring Concept," Communications of the ACM, Vol. 17, No. 10, October, 1974, pp. 549-557.
Andrew D. Birrell, An Introduction to Programming with Threads, DEC SRC Research Report 35, January 6, 1989.
Ozalp Babaoglu and William Joy, Converting a Swap-Based System to do Paging in an Architecture Lacking Page Reference Bits.
Gregory R. Ganger et. al., Soft Updates: to the Metadata Update Problem in File Systems.
Margo I. Seltzer et. al., Journalling versus Soft Updates: Asynchronous Meta-Data Protection in File Systems.
Peter M. Chen et. al., The Rio File Cache: Surviving Operating System Crashes.