CSC 501 Reading List

[NOTE: Copied from course web page some links will not work; deal with it.]

This is list of some seminal OS papers. Not every paper is assigned reading. However, every paper is worth reading. The required reading (paper and date) is posted on calendar.

[Dijkstra68] Edsger W. Dijkstra.  The structure of the THE multiprogramming system Communications of the ACM, 11(5):341-346, May 1968.
[Ritchie78] Dennis M. Ritchie and Ken Thompson.  The UNIX time-sharing system. The Bell System Technical Journal, 57(6):1905-1929, July/August 1978. Copyright 1978 AT&T. All rights reserved.
[Corbet07] Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman.  Linux Device Drivers, Third Edition  O’Reilly, 2007.
[Aivazian02] Tigran Aivazian.  Linux Kernel 2.4 Internals  Linux Docuementation Project.
[Rusling99] David A Rusling.  The Linux Kernel  Linux Docuementation Project.
[Härtig97] Hermann Härtig, Michael Hohmuth,  Jochen Liedtke,  Sebastian Schönberg and Jean Wolter.  The Performance of µ-Kernel-Based Systems
[Garrels07] Machtelt Garrels. Introduction to Linux. Linux Docuementation Project.
[Järvenpää01] Mika J. Järvenpää. Linux Interrupts: The Basic Concepts. Self published.
[Anderson92] 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.
[Waldspurger94] Carl A. Waldspurger, William E. Weihl. Lottery Scheduling: Flexible Proportional-Share Resource Management. First Symposium on Operating Systems Design and Implementation, 1994.
[Weiser94] Mark Weiser, Brent Welch, Alan J. Demers, and Scott Shenker. Scheduling for Reduced CPU Energy, In Proceeding of Operating Systems Design and Implementation, pages 13-23, 1994.
[Banga99] Gaurav Banga, Peter Druschel and Jeffrey C. Mogul. Resource Containers: A New Facility for Resource Management in Server Systems, InProceedings of the Third Symposium on Operating Systems Design and Implementation, pages 45-58, February 1999.
[Barham03] Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield. Xen and the Art of Virtualization. In Proceedings of the 19th Symposium on Operating System Principles, pp 164-177. Bolton Landing, NY, October 2003.
Memory Management
[Nelson88] Michael N. Nelson, Brent B. Welch, and John K. Ousterhout. Caching in the Sprite network file systemACM Transactions on Computer Systems, 6(1):134-154, February 1988.
[Young87] Michael Young, Avadis Tevanian, Richard Rashid, David Golub, Jeffrey Eppinger, Jonathon Chew, William Bolosky, David Black, and Robert Baron.The duality of memory and communication in the implementation of a multiprocessor operating system. In Proceedings of the 11th Symposium on Operating System Principles, pages 63-76, November 1987. Published as ACM Operating Systems Review 2(5).
[Daley68] Robert C. Daley and Jack B. Dennis.  Virtual memory, processes, and sharing in MulticsCommunications of the ACM, 11(5):306-312, May 1968.
[Pai99] Vivek S. Pai, Peter Druschel, and Willy Zwaenepoel. IO-Lite: A Unified I/O Buffering and Caching System. In Proceedings of the Third Symposium on Operating Systems Design and Implementation, pages 15-28, February 1999.
[Chase94] 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.
[Massalin89] Henry Massalin and Calton Pu.  Threads and input/output in the Synthesis kernel. In Proceedings of the 12th Symposium on Operating System Principles, pages 191-201, 1989. Published as ACM Operating Systems Review 23(5).
[McVoy96] Larry McVoy and Carl Staelin. lmbench: Portable Tools for Performance Analysis, USENIX 1996, January 1996.
[Weissel02] Andreas Weissel, Bjoern Beutel, and Frank Bellosa. Cooperative I/O-A Novel I/O Semantics for Energy-Aware Applications. In Proceedings of the Fifth Symposium on Operating System Design and Implementation,December 2002.
[Iyer01] Sitaram Iyer and Peter Druschel Anticipatory scheduling: A disk scheduling framework to overcome deceptive idleness in synchronous I/O, SOSP 2001, pages 117-30, October 21-24, 2001.
[Patterson88] David A. Patterson, Garth Gibson, and Randy H. Katz, A case for redundant arrays of inexpensive disks (RAID), ACM SIGMOD International Conference on Management of Data (Chicago, IL), pages 109-116, 1-3 June 1988.
File Systems
[McKusick84] 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.
[Rosenblum92] Mendel Rosenblum and John K. Ousterhout.  The design and implementation of a log-structured file systemACM Transactions on Computer Systems, 10(1):26-52, February 1992.
[Ghemawat03] The Google File SystemIn Symposium on Operating Systems Principles, October 2003.
Distributed Systems
[Hoare78] C.A.R. Hoare. Communicating Sequential Processes. Communications of the ACM 21(8), August 1978, pp. 666-677.
[Birrell84] Andrew D. Birrell and Bruce J. Nelson.  Implementing remote procedure callsACM Transactions on Computer Systems, 2(1):39-59, February 1984.
[Culler93] David Culler, Richard Karp, David Patterson, Abhijit Sahay, Klaus Erik Schauser, Eunice Santos, Ramesh Subramonian, and Thorsten von Eicken.LogP: towards a realistic model of parallel computation . In PPOPP ’93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming, July 1993.
[Martin97] Richard P. Martin, Amin M. Vahdat, David E. Culler, and Thomas E. Anderson.  Effects Of Communication Latency, Overhead, And Bandwidth In A Cluster Architecture, In The 24th Annual International Symposium on Computer Architecture, June 1997.
[vonEicken92] Thorsten von Eicken, David E. Culler, Seth Copen Goldstein, and Klaus Erik Schauser.  Active messages: a mechanism for integrated communication and computation, In ISCA ’92 Proceedings of the 19th annual international symposium on Computer architecture, May 1992.
[Carter91] John B. Carter, John K. Bennett, and Willy Zwaenepoel. Implementation and performance of Munin. In Proceedings of the 13th Symposium on Operating System Principles, pages 152-164, October 1991. Published asACM Operating Systems Review 25(5).
[Ousterhout88] John Ousterhout, Andrew Cherenson, Fred Douglis, Mike Nelson, and Brent Welch.  The Sprite network operating system. IEEE Computer, 21(2):23-36, February 1988.
[Baker91] Mary G. Baker and John H. Hartman and Michael D. Kupfer and Ken W. Shirriff and John K. Ousterhout, Measurements of a distributed file system, “Proceedings of 13th ACM Symposium on Operating Systems Principles”, pages 198-212, 1991.
[Hartman95] John H. Hartman and John K. Ousterhout. The Zebra Striped Network File System, ACM Transactions on Computer Systems 13(3):274-310, August 1995.
[Muthitacharoen01] Athicha Muthitacharoen, Benjie Chen, and David Mazieres. A Low-bandwidth Network File System, In Symposium on Operating Systems Principles, pages 174-187, 2001.
[Wulf74] 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.
[Castro00] Miguel Castro and Barbara Liskov. Practical Byzantine Fault Tolerance, InProceedings of the Third Symposium on Operating Systems Design and Implementation, New Orleans, USA, February 1999.
[Swift03] Michael 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, Bolton Landing, NY, Oct. 2003
[King03] Samuel T. King and Peter M. Chen. Backtracking intrusion, SOSP 03.
[Whitaker02] Andrew Whitaker, Marianne Shaw, and Steven D. Gribble. Scale and Performance in the Denali Isolation Kernel, In Proceedings of the Fifth Symposium on Operating System Design and Implementation, Boston, MA, December 2002.
[Lampson83] Butler W. Lampson.  Hints for computer system design.In Proceedings of the 9th Symposium on Operating System Principles, pages 33-48, November 1983. Published as ACM Operating Systems Review 17(5)