Week 1 |
Tue 01/30 |
Course Intro |
- Rise of Worse Is Better, Richard Gabriel, Lisp: Good News, Bad News, How to Win Big, 1989
- How (and How Not) to Write a Good Systems Paper, R. Levin and D. D. Redell, SIGOPS OSR, 1983
Optional:
|
|
|
Thu 02/01 |
Historical Perspective |
- The Structure of the 'THE'-Multiprogramming System, Edsger Dijkstra, CACM 1968
- The Nucleus of a Multiprogramming System, Per Brinch Hansen, CACM 1970
|
|
Week 2 |
Tue 02/06 |
Time-Sharing |
- The UNIX Time-Sharing System, Ritchie and Thompson, CACM 1974
- The Evolution of the Unix Time-sharing System, Dennis M. Ritchie, Bell Labs Technical Journal, 1984
|
|
|
Thu 02/08 |
Personal Computing |
- Pilot: An Operating System for a Personal Computer, D. D. Redell, Y. K. Dalal, T. R. Horsley, H. C. Lauer, W. C. Lynch, P. R. McJones, H. G. Murray, and S. C. Purcell, CACM 1980
- Plan 9 From Bell Labs, R. Pike, D. Presotto, S. Dorward, B. Flandrena, K. Thompson, H. Trickey, and P. Winterbottom, USENIX Computing Systems, 1995
|
|
Week 3 |
Tue 02/13 |
OS Structure |
- On μ-Kernel Construction, Jochen Liedtke, SOSP 1995
- The Performance of μ-Kernel-Based Systems, H. Härtig, M. Hohmuth, J. Liedtke, S. Schönberg, J. Wolter, SOSP 1997
Optional:
|
|
|
Thu 02/15 |
OS Structure |
- Exokernel: An Operating System Architecture for Application-Level Resource Management, D. R. Engler, M. F. Kaashoek, and J. O'Toole Jr., SOSP 1995
Optional:
- Application Performance and Flexibility on Exokernel Systems, M. F. Kaashoek, D. R. Engler, G. R. Ganger, H. M. Briceño, R. Hunt, D. Mazières, T. Pinckney, R. Grimm, J. Jannotti, and K. Mackenzie, SOSP 1997
|
Project proposal due
|
Week 4 |
Tue 02/20 |
OS Structure |
- Rethinking the Library OS from the Top Down, D. E. Porter, S. Boyd-Wickizer, J. Howell, R. Olinsky, and G. C. Hunt, ASPLOS 2011
- Singularity: Rethinking the Software Stack, Galen C. Hunt and James R. Larus, ACM SIGOPS OSR, 2007
Optional:
|
|
|
Thu 02/22 |
Virtual Machines |
- Xen and the Art of Virtualization, P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield, SOSP 2003
Optional:
|
|
Week 5 |
Tue 02/27 |
Virtual Machines |
- Memory Resource Management in VMware ESX Server, Carl A. Waldspurger, OSDI 2002
Optional:
|
|
|
Thu 03/01 |
Lightweight Virtualization |
- Dune: Safe User-level Access to Privileged CPU Features, A. Belay, A. Bittau, A. Mashtizadeh, D. Terei, D. Mazieres, and C. Kozyrakis, OSDI 2012
Optional:
|
|
Week 6 |
Tue 03/06 |
Scheduling |
- Scheduler Activations: Effective Kernel Support for the User-level Management of Parallelism, T. E. Anderson, B. N. Bershad, E. D. Lazowska, H. M. Levy, SOSP 1991
- Lottery Scheduling: Flexible Proportional-Share Resource Management, Carl A. Waldspurger and William E. Weihl, OSDI 1994
Optional:
|
|
|
Thu 03/08 |
Synchronization |
- Monitors: An Operating System Structuring Concept, C. A. R. Hoare, CACM, 1974
- Experience with Processes and Monitors in Mesa, Butler W. Lampson and David D. Redell, CACM, 1980
Optional:
- Wait-Free Synchronization, Maurice Herlihy, ACM TOPLAS, 1991
- Read Copy Update, P. E. McKenney, D. Sarma, A. Arcangeli, A. Kleen, O. Krieger, and R. Russell, OLS 2002
|
|
Week 7 |
Tue 03/13 |
File System |
- A Fast File System for Unix, M. K. McKusick, W. N. Joy, S. J. Leffler, and R. S. Fabry, ACM TOCS, 1984
- The Design and Implementation of a Log-Structured File System, Mendel Rosenblum and John K. Ousterhout, SOSP 1991
|
|
|
Thu 03/15 |
File System |
- Soft Updates: A Solution to the Metadata Update Problem in File Systems, G. R. Ganger, M. K.McKusick, C. A.N. Soules, and Y. N. Patt., ACM TOCS, 2000
- The Rio File Cache: Surviving Operating System Crashes, P. M. Chen, W. T. Ng, S. Chandra, C. Aycock, G. Rajamni, and D. Lowell, ASPLOS 1996
Optional:
|
|
Week 8 |
Tue 03/20 |
Spring Break |
|
|
|
Thu 03/22 |
Spring Break |
|
|
Week 9 |
Tue 03/27 |
Multi-core & Scalability |
- An Analysis of Linux Scalability to Many Cores, S. Boyd-Wickizer, A. T. Clements, Y. Mao, A. Pesterev, M. F. Kaashoek, R. Morris, and N. Zeldovich, OSDI 2010
- The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors, A. T. Clements, M. F. Kaashoek, N. Zeldovich, R. T. Morris, and E. Kohler, SOSP 2013
|
Project checkpoint report due
|
|
Thu 03/29 |
Multi-core & Scalability |
- The Multikernel: A New OS Architecture for Scalable Multicore Systems, A. Baumann, P. Barham, P. Dagand, T. Harris, R. Isaacs, S. Peter, T. Roscoe, A. Schüpbach, and A. Singhania, SOSP 2009
- Corey: An Operating System for Many Cores, S. Boyd-Wickizer, H. Chen, R. Chen, Y. Mao, M. F. Kaashoek, R. Morris, A. Pesterev, L. Stein, M. Wu, Y. Dai, Y. Zhang, and Z. Zhang, OSDI 2008
|
|
Week 10 |
Tue 04/03 |
Distribution |
- The Distributed V Kernel and its Performance for Diskless Workstations, David R. Cheriton and Willy Zwaenepoel, SOSP 1983
- The Sprite Network Operating System, J. K. Ousterhout, A. R. Cerenson, F. Douglis, M. N. Nelson, and B. B. Welch, IEEE Computer, 1988
Optional:
|
|
|
Thu 04/05 |
Reliability |
- Bugs as Deviant Behavior: A General Approach to Inferring Errors in Systems Code, D. Engler, D. Y. Chen, S. Hallem, A. Chou, and B. Chelf, SOSP 2001
- Improving the Reliability of Commodity Operating Systems, M. M. Swift, B. N. Bershad, and H. M. Levy, SOSP 2003
Optional:
- A Few Billion Lines of Code Later: Using Static Analysis to Find Bugs in the Real World, A. Bessey, K. Block, B. Chelf, A. Chou, B. Fulton, S. Hallem, C. Henri-Gros, A. Kamsky, S. McPeak, and D. Engler, CACM 2010
|
|
Week 11 |
Tue 04/10 |
Formal Verification |
- seL4: Formal Verification of an OS Kernel, G. Klein, K. Elphinstone, G. Heiser, J. Andronick, D. Cock, P. Derrin, D. Elkaduwe, K. Engelhardt, R. Kolanski, M. Norrish, T. Sewell, H. Tuch, and S. Winwood, SOSP 2009
- Using Crash Hoare Logic for Certifying the FSCQ File System, H. Chen, D. Ziegler, T. Chajed, A. Chlipala, M. F. Kaashoek, and N. Zeldovich, SOSP 2015
|
|
|
Thu 04/12 |
Formal Verification |
- Push-Button Verification of File Systems via Crash Refinement, H. Sigurbjarnarson, J. Bornholt, E. Torlak, and X. Wang, OSDI 2016
- IronFleet: Proving Practical Distributed Systems Correct, C. Hawblitzel, J. Howell, M. Kapritsos, J. R. Lorch, B. Parno, M. L. Roberts, S. Setty, and B. Zill, SOSP 2015
|
|
Week 12 |
Tue 04/17 |
|
|
Travelling for PC meeting. No class. |
|
Thu 04/19 |
Security |
- SCONE: Secure Linux Containers with Intel SGX, S. Arnautov, B. Trach, F. Gregor, T. Knauth, A. Martin, C. Priebe, J. Lind, D. Muthukumaran, D. O'Keeffe, M. L. Stillwell, D. Goltzsche, D. Eyers, R. Kapitza, P. Pietzuch, and C. Fetzer, OSDI 2016
- Shielding Applications from an Untrusted Cloud with Haven, A. Baumann, M. Peinado, and G. Hunt, OSDI 2014
Optional:
|
|
Week 13 |
Tue 04/24 |
Data Center |
- Arrakis: The Operating System is the Control Plane, S. Peter, J. Li, I. Zhang, D. R. K. Ports, D. Woos, A. Krishnamurthy, T. Anderson, and T. Roscoe, OSDI 2014
- IX: A Protected Dataplane Operating System for High Throughput and Low Latency, A. Belay, G. Prekas, A. Klimovic, S. Grossman, C. Kozyrakis, and E. Bugnion, OSDI 2014
|
|
|
Thu 04/26 |
Data Center |
- The Google File System, S. Ghemawat, H. Gobioff, and S. Leung, SOSP 2003
- Windows Azure Storage: A Highly Available Cloud Storage Service with Strong Consistenc, Brad Calder et al., SOSP 2011
Optional:
|
|
Week 14 |
Tue 05/01 |
Last Lecture: Design Principles |
- End-to-End Arguments in System Design, J. H. Saltzer, D. P. Reed, and D. D. Clark, TOCS 1984
- The Emperor's Old Clothes, C.A.R. Hoare, CACM 1981
- Hints for Computer System Design, Butler Lampson, SOSP 1983
|
|
Week 15 |
Thu 05/10 |
Project Presentations |
In-class presentations |
Project report due |