CS587 - Spring 2007
Basic Course Information
- Current Grades
- Programming Assignments
- SRPC Runtime - Assignment, SRPC and UDP programming tips
- Previous Tests
Reading List
Basic System Principles
- Butler W. Lampson. Hints on Computer Systems Design. In Proceedings of the 9th Symposium on Operating Systems Principles (SOSP), 1983.
Basic Kernel Design
- Dennis M. Ritchie and Ken Thompson. The UNIX time-sharing system. Bell Systems Technical Journal, 57(6):1905–1929, 1978.
- Background: Early HIstory and Unix Evolution
- H. Härtig, M. Hohmuth, J. Liedtke, S. Schönberg, and J. Wolter. The performance of μ-kernel-based systems. In Proceedings of the 16th ACM Symposium on Operating Systems Principles, 1997.
- Background: J. Liedtke. On μ-kernel construction. In Proceedings of the 15th ACM Symposium on Operating Systems Principles, 1995.
- D. Engler, M. Kaashoek, and J. O’Toole. Exokernel: An operating system architecture for application-level resource management. In Proceedings of the 15th ACM Symposium on Operating Systems Principles, pages 251–266, Copper Mountain Resort, CO, 1995.
Threads, Processes, and Synchronization
- Bulter W. Lampson and D. D. Redell. Experience with processes and monitors in Mesa. Communications of the ACM, 23(2):105–117, 1980.
- Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska, and Henry M. Levy. Scheduler activations: Effective kernel support for user-level management of parallelism. ACM Transactions on Computer Systems, 10(1):53–70, 1992.
- Henry Massalin and Calton Pu. Threads and input-output in the Synthesis kernel. In Proceedings of the 12th ACM Symposium on Operating Systems Principles, pages 191–201, Litchfield Park, AZ USA, 1989.
File Systems
- Marshall K. McKusick, William N. Joy, Samuel J. Leffler, and Robert S. Fabry. A fast file system for UNIX. ACM Transactions on Computer Systems, 2(3):181–197, 1984.
- Mendel Rosenblum and John K. Ousterhout. The design and implementation of a log-structured file system. ACM Transactions on Computer Systems, 10(1):26–52, 1992.
- Vivek S. Pai, Peter Druschel, and Willy Zwaenepoel. IOLite: A Unified Buffering and Caching System. In Proceedings of the Third Usenix Symposium on Operating Systems Design and Implementation (OSDI'099), February 1999.
Miscellaneous - Memory Management and RPC
- M. Young, A. Tevanian, R. Rashid, D. Golub, J. Eppinger, J. Chew, W. Bolosky, D. Black, and R. Bar. The duality of memory and communication in the implementation of a multiprocessor operating system. In Proceedings of the 11th ACM Symposium on Operating Systems Principles, pages 63–76, 1987.
- A. Birrell and B. Nelson. Implementing remote procedure calls. ACM Transactions on Computer Systems, 2(1):39–59, 1984.
- Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy. Lightweight remote procedure call. ACM Transactions on Computer Systems, 6(1):37–55, 1990.
Networking
- David Mosberger and Larry L. Peterson. Making paths explicit in the Scout operating system. In Proceedings of the 2nd USENIX Symposium on Operating Systems Design and Implementation (OSDI), pages 153–168, 1996.
- J. C. Mogul and K. K. Ramakrishnan. Eliminating receive livelock in an interrupt-driven kernel. ACM Transactions on Computer Systems, 15(3):217–252, 1997.
Distributed File Systems
- J. H. Howard, M. L. Kazar, S. G. Menees, D. A. Nichols, M. Satyanarayanan, R. N. Sidebotham, and M. J. West. Scale and performance in a distributed file system. ACM Transactions on Computer Systems, 6(1):51–81, 1988.
- Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung. The Google file system. In Proceedings of the Nineteenth ACM Symposium on Operating Systems principles (SOSP ’03), pages 29–43, New York, NY, USA, 2003. ACM Press.
Distributed Computing Systems and Consistency
- J. B. Carter, J. K. Bennet, and W. Zwanepoel. Implementation and performance of Munin. In Proceedings of the 13th ACM Symposium on Operating Systems Principles, pages 152–164, 1991.
- K. Petersen, M. J. Spreitzer, D. B. Terry, M. M. Theimer, and A. J. Demers. Flexible update propagation for weakly consistent replication. In Proceedings of the 16th ACM Symposium on Operating Systems Principles, pages 288–301, 1997.
- Frank Schmuck and Jim Wylie. Experience with transactions in QuickSilver. In Proceedings of the Thirteenth ACM Symposium on Operating Systems Principles (SOSP), pages 239-253, 1991.
Peer-to-Peer Systems
- F. Dabek, M. F. Kaashoek, K. Karger, R. Morris, and I. Stoica. Wide-area cooperative storage with CFS. In Proceedings of the 18th Symposium on Operating Systems Principles, 2001.
- Larry L. Peterson, David Culler, Thomas Anderson, and Timothy Roscoe. A blueprint for introducing disruptive technology into the Internet. In Proceedings of the 1st Workshop on Hot Topics in Networks (HotNets-I), 2002.
Case Study/Issue Study Papers
- Distributed Operating Systems
- John K. Ousterhout, A. Cherenson, F. Douglis, M. Nelson, and B. Welch. The Sprite network operating system. IEEE Computer, 21(2):23–26, 1988.
- Amoeba (to be added)
- Virtualization
- 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 Proceedings of the 19th Sympoium on Operating Systems (SOSP-19), October 2003.
- …
- Multiprocessor/Multicore Systems
- B. Gamsa, Orran Krieger, J. Appavoo, and M. Stumm. Tornado: Maximizing locality and concurrency in a shared memory multiprocessor operating system. In Proceedings of the 3rd USENIX Symposium on Operating Systems Design and Implementation, pages 87–100, 1999.
- …
- Large Scale Systems
- Jeffrey Dean and Sanjay Ghemawat. Mapreduce: Simplified data processing on large clusters. In Proceedings of the Sixth USENIX Symposium on Operating Systems Design and Implementation (OSDI), pages 137–150, 2004.
- Google FS
- HPC Issue paper
- Consistency Models
- D. Cheriton and D. Skeen. Understanding the Limitations of Causally and Totally Ordered Communication. In Proceedings of the 14th ACM Symposium on Operating Systems Principles, 1993.