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 Presenter
1/17 Introduction & Overview
This is the Syllabus (slides) Operating Systems: Principles & Practice (Chapter 1)
C4: Efficient Reading of Papers in Science and Technology
Prof. Bates
1/19
Overview and Basic Concepts (slides) Prof. Bates
1/22 Kernels & Processes
Systems Programing Review (slides) C4: "Hints for Computer system Design" (SOSP'83)
C4: "The nucleus of a multiprogramming system" (Comm. ACM '70)
Prof. Bates
1/24
The Kernel Abstraction (slides) Operating Systems: Principles & Practice (Chapter 2) Prof. Bates
1/26
Interrupts (slides) Prof. Bates
1/29
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)
Prof. Bates
1/31 Concurrency
Concurrency & Threads (slides) Operating Systems: Principles & Practice (Chapter 4) Prof. Bates
2/02 Synchronization
Synchronization I (slides) Operating Systems: Principles & Practice (Chapter 5)
MP1 Out!
Prof. Bates
2/05
MP1 Walkthrough, Q&A (slides) C4: "Finding and Reproducing Heisenbugs in Concurrent Programs" (OSDI'08) Saad
2/07
Synchronization II (slides) Prof. Bates
2/09
OS Support for Synchronization (slides) Prof. Bates
2/12 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)
Prof. Bates
2/14
Scheduling in Linux (slides) Prof. Bates
2/16
Scheduling Priodic Tasks in Embedded Systems (slides) Prof. Bates
2/19 Memory
Memory Background, History (slides) Operating Systems: Principles & Practice (Part 3)
C4: "The Multics Virtual Memory: Concepts and Design" (Comm. ACM'72)
Mohammad
2/21
MP2 Walkthrough, Q&A (slides) Mohammad
2/23
Virtual Memory Mgmt (slides) MP2 Out! Prof. Bates
2/26 Memory 2
Class cancelled C4: "Memory Resource Management in VMware ESX Server" (OSDI'02)
C4: "Difference Engine: Harnessing Memory Redundancy in Virtual Machines" (OSDI'08)
2/28
Virtual Memory 2 (slides) Prof. Bates
3/02
Virtual Memory Wrap-Up (slides) Prof. Bates
3/05 Midterm Review
Review of Midterm-content, Q&A (slides) C4: Xen and the art of virtualization (SOSP'03)
C4: A retrospective on the VAX VMM security kernel (IEEE TOSE '91)
Prof. Bates
3/07 MIDTERM EXAM
In-Class, 11:00am in 1404 Siebel Center Prof. Bates
3/09 Virtualization
Intro to Virtualization (slides) Prof. Bates
3/12 Virtualization 2
Emulation-Based Virtualization (slides) C4: "Are Virtual Machine Monitors Microkernels Done Right?" (HotOS'05)
C4: "Are virtual-machine monitors microkernels done right?" (ACM SIGOPS '06)
Prof. Bates
3/14
Dynamic Binary Translation (slides) Prof. Bates
3/16
Class cancelled
3/19 Spring Break
3/21
3/23
MP2 Due!
3/26
Process VMs (slides) Operating Systems: Principles & Practice (Part 4)
C4: The design and implementation of a log-structured file system (TOCS'92)
C4: An Implementation of A Log-Structured File System for UNIX (USENIX '93)
MP3 Out!
Prof. Bailey
3/28 File Systems
Disk Scheduling (slides) Prof. Bates
3/30
Linux Disk Scheduling (slides) Prof. Bates
4/02
File System Design (slides) C4: RAID: High-performance, reliable secondary storage Prof. Bates
4/04
Directory Structures (slides) Prof. Bates
4/06
Reliable Storage (slides) Prof. Bates
4/09 Security
MP3 Walkthrough (slides) C4: Introduction and Overview of the Multics System (1965)
Saad
4/11
OS Security Overview (slides) Mohammad
4/13
Epic Security Fails in OS History (slides) Prof. Bates
4/16
Abusing Hardware for Fun and Profit (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)
Prof. Fletcher
4/18
MP4 Walkthrough (slides) MP3 Due! Mohammad
4/20
Access Control in Operating Systems (slides) Prof. Bates
4/23 Special Topics
Security Wrap-Up (slides) No reading assignments Prof. Bates
4/25
Final Exam Overview + Review (slides) Prof. Bates
4/27
Energy + Power Considerations (slides) Prof. Bates
4/30
The Linux Audit System (slides) No reading assignments Wajih Ul Hassan
5/02
Final Exam Q&A Prof. Bates
5/04 FINAL EXAM
Friday May 4 1:30pm - 4:30pm in 1404 Siebel Center
5/07
MP4 Due