CS 423

OPERATING SYSTEMS DESIGN

Below is the calendar for this course. This is the preliminary schedule, which may be altered as the term progresses. It is the responsibility of the students to frequently check this web-page for schedule, readings, and assignment changes. As the professor, I will attempt to announce any change to the class, but this web-page should be viewed as authoritative. If you have any questions, please contact me (contact information is available at the course homepage).

Date Topic Lecture Assignments
1/14 Introduction & Overview This is the Syllabus (slides) Operating Systems: Principles & Practice (Chapter 1)
C4: Efficient Reading of Papers in Science and Technology
1/16 Overview and Basic Concepts (slides) HW0 out!
MP0 out!*
1/18 Kernels & Processes Systems Programing Review (slides)
1/21 Martin Luther King, Jr. birthday (all-campus holiday) C4: "Hints for Computer system Design" (SOSP'83)
C4: "The nucleus of a multiprogramming system" (Comm. ACM '70)
1/23 The Kernel Abstraction (slides) Operating Systems: Principles & Practice (Chapter 2)
1/25 Interrupts (slides) C4 summaries due (every Friday)!
HW0 due!
1/28 The Programming Interface (slides) Operating Systems: Principles & Practice (Chapter 3)
C4: "Reflections on an operating system design" (Comm. ACM '75)
C4: "The structuring of systems using upcalls" (SOSP'85)
MP0 due!
1/30 NO CLASS! Polar Vortex Day MP1 out!
2/01 Concurrency Concurrency & Threads (slides) Operating Systems: Principles & Practice (Chapter 4)
2/04 MP1 Q&A (slides) C4: "Finding and Reproducing Heisenbugs in Concurrent Programs" (OSDI'08)
2/06 Synchronization Synchronization (slides) Operating Systems: Principles & Practice (Chapter 5)
2/08 OS Support for Synchronization (slides)
2/11 Scheduling Intro to Scheduling (slides) Operating Systems: Principles & Practice (Chapter 7)
C4: "Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism" (Trans. Comp. Sys. '92)
C4: "The Linux Scheduler: a Decade of Wasted Cores" (EuroSys'16)
2/13 Scheduling in Linux (slides)
2/15 Scheduling Periodic Tasks in Embedded Systems (slides)
2/18 Real Time Tasks Part Two (slides) Operating Systems: Principles & Practice (Part 3)
C4: "The Multics Virtual Memory: Concepts and Design" (Comm. ACM'72)
2/20 Memory History of Memory Management (slides) MP1 due!
2/22 Virtual Memory Management (slides)
2/25 Memory 2 MP2 Q&A (slides) C4: "Memory Resource Management in VMware ESX Server" (OSDI'02)
C4: "Difference Engine: Harnessing Memory Redundancy in Virtual Machines" (OSDI'08)
2/27 Page Replacement Algorithms (slides)
3/01 Memory Wrap-Up (slides)
3/04 Midterm Review Review of Midterm-content, Q&A (slides) C4: Xen and the art of virtualization (SOSP'03)
C4: A Comparison of Software and Hardware Techniques for x86 Virtualization (ASPLOS'06)
3/06 MIDTERM EXAM In-Class, 11:00am in 1404 Siebel Center
3/08 Class Cancelled
3/11 Virtualization Virtualization Overview (slides) C4: "Are Virtual Machine Monitors Microkernels Done Right?" (HotOS'05)
C4: "Are virtual-machine monitors microkernels done right?" (ACM SIGOPS '06)
3/13 Emulation (slides)
3/15 Process Virtual Machines (slides)
3/18 Spring Break
3/22
3/22
3/25 File Systems Disk Scheduling (slides) Operating Systems: Principles & Practice (Part 4)
C4>:A Fast File System for Unix (TOCS'84)
C4: An Implementation of A Log-Structured File System for UNIX (USENIX '93)
MP2 due!
3/27 File System Design (slides) MP3 Released!
3/29 MP3 Q&A (slides), Midterm Recap
4/01 File Systems 2 File Systems in Practice (slides) "Operating Systems: Principles & Practice (Part 4)
C4: The Rio File Cache: Surviving Operating System Crashes (ASPLOS'96)
C4: Soft Updates: A Solution to the Metadata Update Problem in File Systems (TOCS'00)
"
4/03 Relable Storage (slides)
4/05 Logging File Systes (slides)
4/08 Security OS Security Crash Course (slides) C4: Introduction and Overview of the Multics System (1965)
4/10 Epic Security Fails in OS History (slides)
4/12 Access Control in Operating systems (slides)
4/15 Security 2 The Linux Reference Monitor (slides) C4: Linux Security Modules: General Security Support for the Linux Kernel (USENIX Security '02)
C4: Analyzing Integrity Protection in the SELinux Example Policy (USENIX Security '03)
MP3 due!
4/17 MP4 Q&A (slides)
4/19 Auditing Frameworks (slides)
4/22 Special Topics Power and Energy Considerations (slides) C4: The Google File System (SOSP'00)
4/24 Containers and Namespaces (slides)
4/26 *Final* Review (slides)
4/29 Distributed File Systems (slides) No reading assignments
5/01 Hadoop (slides)
5/07 FINAL EXAM MAY 9TH @ 7PM, SIEBEL 1404