University of Arizona, Department of Computer Science

CS 552 Reading List
Fall 2004

Note: The papers are organized by subject. We will read them in approximately this order, but not exactly. The order will be announced in class and posted on the class schedule.


Systems/Experience

[Dijkstra68]
Edsger W. Dijkstra. The structure of the THE multiprogramming systemCommunications of the ACM, 11(5):341-346, May 1968.
[Daley68]
Robert C. Daley and Jack B. Dennis. Virtual memory, processes, and sharing in MulticsCommunications of the ACM, 11(5):306-312, May 1968.
[Ritchie78]
Dennis M. Ritchie and Ken Thompson. The UNIX time-sharing systemThe Bell System Technical Journal, 57(6):1905-1929, July/August 1978. Copyright 1978 AT&T. All rights reserved.
[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).
[Saltzer84]
J. H. Saltzer, D. P. Reed, and D. D. Clark. End-to-end arguments in system design. ACM Transactions on Computer Systems, 2(4):277-288, November 1984.


Concurrency

[Lauer79]
Hugh C. Lauer, Roger M. Needham, On the Duality of Operating System Structures, Operating Systems Review, 13(2), April 1979, pp. 3-19.
[Massalin89]
Henry Massalin and Calton Pu. Threads and input/output in the Synthesis kernelIn Proceedings of the 12th Symposium on Operating System Principles, pages 191-201, 1989. Published as ACM Operating Systems Review 23(5).
[Anderson92]
Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska, and Henry M. Levy. Scheduler activations: Effective kernel support for the user-level management of parallelismACM Transactions on Computer Systems, 10(1):53-70, February 1992.
[Savage97]
Stefan Savage, Michael Burrows, Greg Nelson, Patrick Sobalvarro, and Thomas E. Anderson. Eraser: A dynamic data race detector for multithreaded programs. ACM Transactions on Computer Systems, 15(4):391-- 411, November 1997.
[Engler01]
Dawson Engler, David Yu Chen, Seth Hallem, Andy Chou, and Benjamin Chelf. Bugs as deviant behavior: A general approach to inferring errors in systems code. In Proceedings of Eighteenth ACM Symposium on Operating Systems Principles, October 2001.


Interprocess Communication

[Birrell84]
Andrew D. Birrell and Bruce J. Nelson. Implementing remote procedure callsACM Transactions on Computer Systems, 2(1):39-59, February 1984.
[Bershad90]
Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy. Lightweight remote procedure callACM Transactions on Computer Systems, 8(1):37-55, February 1990.


File Systems

[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.
[Sandberg85]
Russel Sandberg, David Goldberg, Steve Kleiman, Dan Walsh, and Bob Lyon. Design and implementation of the Sun network filesystemIn Proceedings of the Summer 1985 USENIX Conference, pages 119-130, June 1985
[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.
[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.
[Ghemawat03]
Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung. The Google file system. In Proceedings of the 19th ACM Symposium on Operating Systems Principles
[Mazieres99]
David Mazieres, Michael Kaminsky, M. Frans Kaashoek, and Emmett Witchel. Separating key management from file system security. In Proceedings of the 17th ACM Symposium on Operating Systems Principles, pages 124--139, Kiawa Island, SC, 1999. ACM.
[Quinlan02]
Sean Quinlan and Sean Dorward, Venti: A New Approach to Archival Data Storage. Proceedings of the USENIX 2002 Conference of File and Storage Technologies, January 2002.
[Muthitacharoen01]
Athicha Muthitacharoen, Benjie Chen, and David Mazières. A Low-Bandwidth Network File System. Proceedings of the 18th Symposium on Operating System Principles, October 2001.


Virtual Machines

[Goldberg74]
Robert P. Goldberg. Survey of Virtual Machine Research. IEEE Computer Magazine 7(6), pp. 34-45, Jun. 1974.
[Bugnion97]
Edouard Bugnion, Scott Devine, and Mendel Rosenblum. Disco: Running Commodity Operating Systems on Scalable Multiprocessors. In Proceedings of the 16th ACM Symposium on Operating Systems Principles, pages 27--37, October 1997.
[Barham03]
Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, and Andrew Warfield. Xen and the art of virtualization. In Proc. of the 19th ACM Symposium on Operating Systems Principles, Bolton Landing, NY, October 19--22 2003.


Distributed Systems

[Birrell82]
Andrew D. Birrell, Roy Levin, Roger M. Needham, and Michael D. Schroeder. Grapevine: An exercise in distributed computing. Communications of the ACM, 25(4):260-274, April 1982.
[Ousterhout88]
John Ousterhout, Andrew Cherenson, Fred Douglis, Mike Nelson, and Brent Welch. The Sprite network operating systemIEEE Computer, 21(2):23-36, February 1988. 


Protection and Security

[Satyanarayanan89]
M. Satyanarayanan. Integrating security in a large distributed systemACM Transactions on Computer Systems, 7(3):247-280, August 1989.
[Lampson73]
Butler W. Lampson. A note on the confinement problem. Communications of the ACM, 16(10):613-615, October 1973.
[Anderson94]
Ross J. Anderson. Why cryptosystems fail. Communications of the ACM, 37(11):32--40, November 1994.


Virtual Memory

[Appel91]
Andrew W. Appel and Kai Li.   Virtual Memory Primitives for User Programs. Proceedings of the 4th International ACM Conference on Architectural Support for Programming Languages and Operating Systems, pages 96-107, Santa Clara, California, April 1991.

Last updated 8/25/04
http://www.cs.arizona.edu/classes/cs552/fall04/reading.html