CS 519: Operating Systems Theory
Instructor: Thu D. Nguyen
TA: Tuan Phan
Time & Location: Thursday 12-3pm, SEC 204
SPECIAL NOTE: Our lecture room has changed again! Hopefully, this will be the last time. SEC 204.
Logistics
Lecture Topics and Readings: (under construction)Introduction
& Architectural Review (1 lecture)
Processes, Threads & Synchronization
(2 lectures)
- D. M. Ritchie, K. Thompson. The UNIX Timesharing
System. Communications of the ACM 17(7), July
1974.
- R. Pike, D. Presotto, S. Dorward, B. Flandrena, K. Thompson, H. Trickey, P. Winterbottom.
Plan 9 From Bell Labs. Computing Systems, 8(3), 1995.
- M. Herlihy. A Methodology for Implementing Highly Concurrent
Data Objects. ACM Transactions on Programming Languages
15(5), Nov. 1993.
- [Optional] A. D. Birrell. An Introduction to Programming with
Threads. SRC Research Report 35, 1989.
Processor Scheduling (1 lecture)
- C. Waldspurger, W. Weihl. Lottery Scheduling: Flexible
Proportional-Share Resource Management. In Proceedings
of the First USENIX Symposium on Operating System Design and
Implementation (OSDI), Nov. 1994.
- K. J. Duda, D. R. Cheriton. Borrowed-Virtual-Time (BVT)
Scheduling: Supporting Latency-Sensitive Threads in a General-Purpose
Scheduler. In Proceedings of the 17th ACM Symposium on
Operating Systems Principles (SOSP), Dec. 1999.
Virtual Memory (2 lectures)
- J. Chase, H. Levy, M. Feeley, E. Lazowska.
Sharing and Protection in a Single Address Space Operating
System. ACM Transactions on Computer Systems 12(4),
Nov. 1994.
I/O and File Systems (1 lecture)
- M. Rosenblum, J. K. Ousterhout.
The Design and Implementation of a Log-Structured File
System. ACM Transactions on Computer Systems 10(1),
Feb. 1992.
Communication (1 lecture)
- A. Basu, V. Buch, W. Vogels, T. von Eicken. U-Net: A
User-Level Network Interface for Parallel and Distributed
Computing. In Proceedings of the 15th
ACM Symposium on Operating Systems Principles (SOSP), December
1995.
- B. Bershad, T. Anderson, E. Lazowska, H. Levy. Lightweight
Remote Procedure Call. ACM Transactions on Computer Systems
8(1), Feb. 1990.
Security (1 lecture)
- M. Burrows, M. Abadi, R. Needham. A Logic of Authentication.
ACM Transactions on Computer Systems 8(1), Feb 1990.
- X. Qie, R. Pang, L. Peterson. Defensive Programming: Using an
Annotation Toolkit to Build DoS-Resistant Software. In
Proceedings of the 5th Symposium on Operating Systems Design and
Implementation (OSDI), Dec. 2002.
Reliability (1 lecture)
- D. Engler, D. Y. Chen, S. Hallem, A. Chou, B. Chelf. Bugs as
Deviant Behavior: A General Approach to Inferring Errors in Systems
Code. In Proceedings of 18th ACM Symposium on Operating Systems
Principles, Oct. 2001.
- M. M. Swift, B. Bershad, H. Levy. Improving the Reliability of
Commodity Operating Systems. ACM Transactions on Computer
Systems 23(1), Feb. 2005.
Structure and Organization (1 lecture)
- J. Liedtke. On micro-kernel construction.
Proceedings of the fifteenth ACM symposium on
Operating systems principles. Dec. 1995.
- B. Bershad, S. Savage, P. Pardyak, E. Sirer, M. Fiuczynski, D. Becker,
C. Chambers, and S. Eggers. Extensibility,
Safety and Performance in the SPIN Operating System. Proc.
of the 15th ACM. Symp. on Operating Systems Principles, Dec.
1995.
Virtualization (1 lecture)
- E. Bugnion, S. Devine, and M. Rosenblum. Disco: Running
Commodity Operating Systems on Scalable Multiprocessors. In
Proceedings of the 16th Symposium on Operating Systems Principles
(SOSP), Oct. 1997.
- P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho,
R. Neugebauer, I. Pratt, A. Warfield. Xen and the Art of
Virtualization. In Proceedings of the 19th ACM Symposium on
Operating Systems Principles (SOSP), Oct 2003.
Parallel Systems (2 lectures)