W1 |
Tue 01/28 |
Course Intro |
- Rise of Worse Is Better, Richard Gabriel, Lisp: Good News, Bad News, How to Win Big, 1989
- Example of Worse-Is-Better in Linux vs Unix, Theodore Ts'o, TUHS mailing list, 2017
Additional:
|
|
|
Thu 01/30 |
Historical Perspective |
- The Structure of the 'THE'-Multiprogramming System, Edsger Dijkstra, CACM 1968
- The Nucleus of a Multiprogramming System, Per Brinch Hansen, CACM 1970
|
Question |
W2 |
Tue 02/04 |
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
|
Question |
|
Thu 02/06 |
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
|
Question |
W3 |
Tue 02/11 |
Class canceled |
|
|
|
Thu 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:
|
Question |
|
Fri 02/14 |
|
|
Project proposal due |
W4 |
Tue 02/18 |
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
|
Question |
|
Thu 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:
|
Question |
W5 |
Tue 02/25 |
Class canceled |
|
|
|
Thu 02/27 |
Virtual Memory |
- Virtual Memory Management in VAX/VMS, H. M. Levy and P. Lipman, IEEE Computer 1982
- Machine-Independent Virtual Memory Management for Paged Uniprocessor and Multiprocessor Architectures, R. Rashid, A. Tevanian, M. Young, D. Golub, R. Baronn, D. Black, W. Bolosky, and J. Chew, ASPLOS 1987
|
Question |
W6 |
Tue 03/03 |
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:
|
Question |
|
Thu 03/05 |
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
|
Question |
W7 |
Tue 03/10 |
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
|
Question |
|
Thu 03/12 |
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
Optional:
|
Question |
W8 |
Tue 03/17 |
Spring Break |
|
|
|
Thu 03/19 |
Spring Break |
|
|
W9 |
Tue 03/24 |
File System |
Continue LFS and soft updates |
|
|
Thu 03/26 |
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
|
Question |
|
Sun 03/29 |
|
|
Project checkpoint due |
W10 |
Tue 03/31 |
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
- The Origin of the VM/370 Time-Sharing System, R. J. Creasy, IBM Journal of Research and Development, 1981
Optional:
|
Question |
|
Thu 04/02 |
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:
|
Question |
W11 |
Tue 04/07 |
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
|
Question |
|
Thu 04/09 |
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
Optional:
|
Question |
W12 |
Tue 04/14 |
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:
|
Question |
|
Thu 04/16 |
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
- My VM is Lighter (and Safer) than your Container, F. Manco, C. Lupu, F. Schmidt, J. Mendes, S. Kuenzer, S. Sati, K. Yasukata, C. Raiciu, and F. Huici, SOSP 2017
Optional:
|
Question |
W13 |
Tue 04/21 |
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
|
Question |
|
Thu 04/23 |
Serverless |
- Firecracker: Lightweight Virtualization for Serverless Applications, M. Brooker, A. Florescu, D. Popa, R. Neugebauer, A. Agache, A. Iordache, A. Liguori, and P. Piwonka, NSDI 2020
- Cloud Programming Simplified: A Berkeley View on Serverless Computing, E. Jonas, J. Schleier-Smith, V. Sreekanti, C. Tsai, A. Khandelwal, Q. Pu, V. Shankar, J. Menezes Carreira, K. Krauth, N. Yadwadkar, J. Gonzalez, R. Ada Popa, I. Stoica and D. A. Patterson, Technical Report No. UCB/EECS-2019-3
Optional:
|
Question |
W14 |
Tue 04/28 |
Last Lecture: Design Principles |
- End-to-End Arguments in System Design, J. H. Saltzer, D. P. Reed, and D. D. Clark, ACM TOCS 1984
- The Emperor's Old Clothes, C.A.R. Hoare, CACM 1981
- Hints for Computer System Design, Butler Lampson, SOSP 1983
|
Question |
|
Thu 04/30 |
Project Presentations |
In-class presentations |
Project report due |
W15 |
Mon 05/04 |
|
|
Final project report due |