Reading List
CSE 60641 - Operating Systems - Fall 2009
First, you should have whatever textbook you used in your
undergraduate operating system class as a general reference.
It is not necessary to have the latest version.
Two very common textbooks are:
Silberschatz, Galvin, and Gagne, "Operating Systems Concepts", John Wiley, 2004.
Andrew Tannenbaum, Modern Operating Systems, Pearson Prentice Hall, 2008.
The following papers are protected by various copyrights that allow for classroom use.
Thus, you must be in this class and login with your AFS ID in order to access the papers.
Storage and File Systems
David Patterson, Garth Gibson, and Randy Katz,
"A Case for Redundant Arrays of Inexpensive Disks",
Proceedings of ACM Special Interest Group on Management of Data (SIGMOD), 1988.
Marshal Kirk McKusick, William Koy, Samuel Leffler, and Robert Fabry,
"A Fast File System for Unix",
ACM Transactions on Computer Systems, volume 2, issue 3, August 1984.
Mendel Rosenblum and John Ousterhout,
"The Design and Implementation of a Log Structured File System",
Proceedings of the Symposium on Operating Systems Principles, 1991.
Edmund Nightingale, Kaushik Veeraraghavan, Peter Chen, and Jason Flinn,
Rethink the Sync,
Proceedings of USENIX Operating Systems Design and Implementation, 2007.
John Howard, Michael Kazarm Sherri Menees, David Nichols, M. Satyanarayanan, Robert Sidebotham, and Michael West,
"Scale and Performance in a Distributed File System",
ACM Transactions on Computer Systems, Volume 6, Number 1, February 1988.
Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung,
The Google File System,
Proceedings of ACM Symposium on Operating Systems Principles, 2003.
Sage Weil, Scott Brandt, Ethan Miller, Darrell Long, and Carlos Maltzahn,
Ceph: A Scalable, High Performance Distributed File System,
Proceedigns of USENIX Operating Systems Design and Implementation, 2006.
Concurrency
Butler Lampson and David Redell,
"Experiences with Processes and Monitors in Mesa",
Communications of the ACM, Volume 23, Number 2, February 1980.
Thomas Anderson, Brian Bershad, Edward Lazowska, and Henry Levy,
Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism,
ACM Transactions on Computer Systems, Vol 10, No 1, February 1992.
Matt Welsh, David Culler, and Eric Brewer,
"SEDA: An Architecture for Well-Conditioned, Scalable Internet Services",
ACM Symposium on Operating Systems Principles, 2001
John Ousterhout,
"Why Threads are a Bad Idea (for most purposes)",
talk given at USENIX Annual Conference, September 1995.
Rob von Behren, Jeremy Condit, and Eric Brewer,
Why Events Are A Bad Idea (for high-concurrency servers),
Workshop on Hot Topics in Operating Systems, 2003.
Christopher Moretti, Hoang Bui, Karen Hollingsworth, Brandon Rich, Patrick Flynn, and Douglas Thain,
All-Pairs: An Abstraction for Data Intensive Computing on Campus Grids,
to appear in IEEE Transactions on Parallel and Distributed Systems, 2009.
Douglas Thain and Chris Moretti,
Abstractions for Cloud Computing with Condor,
to appear in Syed Ahson and Mohammad Ilyas, Cloud Computing and Software Services, CRC Press, 2009.
Jeffrey Dean and Sanjay Ghemawat,
"MapReduce: Simplified Data Processing on Large Clusters",
USENIX Symposium on Operating System Design and Implementation, 2004.
Memory Management
A. Bensoussan and R. Daley,
"The Multics Virtual Memory: Concepts and Design",
Proceedings of the Symposium on Operating Systems Principles, 1969.
Peter Denning,
"The Working Set Model for Program Behavior",
Communications of the ACM, 1968.
Song Jiang, Feng Chen, and Xiaodong Zhang,
CLOCK-Pro: An Effective Improvement of the CLOCK Replacement,
Proceedings of USENIX, 2005.
Juan Navarro, Sitaram Iyer, Peter Druschel, and Alan Cox,
Practical, Transparent Operating System Support for Superpages,
Proceedings of USENIX Operating Systems Design and Implementation, 2002.
Michael Young, Avadis Tevanian, Richard Rashid, David Golub, Jeffrey Eppinger, Johnathan Chew, William Bolosky, David Black, and Robert Baron,
"The Duality of Memory and Communication in the Implementation of a Multiprocessor Operating System",
Proceedings of the Symposium on Operating Systems Principles, 1987.
Virtualization
Robert Goldberg,
"Survey of Virtual Machine Research",
IEEE Computer, June 1974.
Gerald Popek and Robert Goldberg,
"Formal Requirements for Virtualizable Third Generation Architectures",
Communications of the ACM, July 1974.
Samuel King, George Dunlap, and Peter Chen,
"Operating System Support for Virtual Machines",
Proceedings of USENIX Annual Technical Conference, 2003.
Jeremy Sugerman, Ganesh Venkitachalam, and Beng-Hong Lim,
"Virtualizing I/O Devices on VMWare Workstation's Hosted Virtual Machine Monitor",
Proceedings of USENIX Annual Technical Conference, 2001.
Distributed Operating Systems
Bruce Walker, Gerald Popek, Robert English, Charles Kline, and Greg Thiel,
The LOCUS Distributed Operating System,
Proceedings of the Symposium on Operating Systems Principles, 1983.
Douglas Thain and Miron Livny,
Condor and the Grid
in Grid Computing: Making the Global Infrastructure a Reality,
Fran Berman, Anthony Hey, and Geoffrey Fox, John Wiley and Sons, 2003.
Daniel Nurmi, Rich Wolski, Chris Grzegorczyk, Graziano Obertelli, Sunil Soman, Lamia Youseff, Dmitrii Zagorodnov,
The Eucalyptus Open-Source Cloud-Computing System,
Proceedings of IEEE Cluster Computing and the Grid, 2009.