CS 523: Advanced Operating Systems

Spring 2025

Instructor
Tianyin Xu (tyxu@illinois.edu)

Lecture/Discussion
Wed/Fri 12:30pm -- 01:45pm
2101 Everitt Laboratory

Teaching Assistant
Tyler Gu (jiaweig3@illinois.edu)

Office Hour
Xu: Wed 01:45pm -- 2:45pm, 2101 Everitt Laboratory
Gu: Mon: 2:00pm -- 3:00pm, 3111 Siebel Center

Email (for Proposal/Checkpoint/Project Submission)
cs523uiuc@gmail.com

Course Overview

The purpose of this course is to teach operating system design from a research point of view. We will go over key topics of operating systems, walk through the evolution of many different operating systems techniques, and examine their usage in both important historical systems and in modern systems.

We will be going over the following topics:

This is a research-oriented seminar course with a major research project. In short, the course is about discussing and learning (by doing!) computer systems research.

Prerequisite: CS 423, ECE 391, CS 425, and CS 433 (or equivalent). Take the Prerequisite Quiz if you are not sure.

Reading List

The course does not have a textbook. Instead, the course material will come from seminal, noteworthy, or representative research papers and articles. Each lecture (except the first one) will have two assigned papers to read. You are expected to read these papers before coming to class, and be prepared to discuss them. We will also list recommended readings; you are encouraged to read those, but not required.

I highly recommend you to read Griswold's advices on how to read a research paper. The take-home message is that until you can answer a bunch of questions, you are not done reading a paper.

I also strongly encourage you to discuss the papers with other students in the class — you may have insights that others do not, and vice versa. Oftentimes, students form reading groups, which I heartily encourage; on the other hand, I would like to point out that group discussion is not an effective substitute for actually reading the paper.

If you need a textbook to review and catch background, I recommend the OSTEP book.

The following table outlines the schedule for the course. We will update it as the semester progresses.

Date Topic Paper Project Guest
1/22 Course Intro (slides) N/A Brainstorming and teaming up TBD
1/24 Historical Perspectives (1) THP, Nucleus Brainstorming and teaming up TBD
1/29 Historical Perspectives (2) TENEX, HYDRA Brainstorming and teaming up TBD
1/31 Historical Perspectives (3) UNIX, Plan 9 Brainstorming and teaming up TBD
2/5 Kernel Architecture (1) L4 (qual paper) Brainstorming and teaming up TBD
2/7 Kernel Architecture (2) Exokernel Proposal due: 2/9 11:59pm TBD
2/12 Synchronization (1) Mesa Presentation and discussion TBD
2/14 Synchronization (2) Chess Presentation and discussion TBD
2/19 Scheduling (1) TBD Presentation and discussion TBD
2/21 Scheduling (2) TBD Presentation and discussion TBD
2/26 Memory Management (1) Mach MM (qual paper) Presentation and discussion TBD
2/28 Memory Management (2) ECPT Presentation and discussion TBD
3/5 File Systems (1) LFS (qual paper) Presentation and discussion TBD
3/7 File Systems (2) Rio Checkpoint #1 due: 3/9 11:59pm TBD
3/12 Network Stack (1) TBD Presentation and discussion TBD
3/14 Network Stack (2) TBD Presentation and discussion TBD
Fall Break Food. Lots of it. Sleep. Lots of it. N/A
3/26 Virtual Machine (1) Xen (qual paper) Presentation and discussion TBD
3/28 Virtual Machine (2) LightVM Presentation and discussion TBD
4/2 Container (1) TBD Presentation and discussion TBD
4/4 Container (2) TBD Checkpoint #2 due: 4/6 11:59pm TBD
4/9 Extensibility (1) SPIN Presentation and discussion TBD
4/11 Extensibility (2) TBD Presentation and discussion TBD
4/16 Reliability (1) Bugs as deviant behavior Presentation and discussion TBD
4/18 Reliability (2) Nooks (qual paper) Presentation and discussion TBD
4/22 Security (1) KCFI Presentation and discussion TBD
4/25 Security (2) Haven Presentation and discussion TBD
4/30 D.i.s.tri...buuuuuted MapReduce Presentation and discussion TBD
5/2 Machine Learning TBD Presentation and discussion TBD
5/7 Future Something wild Final report due 5/7 11:59pm TBD

Class Participation

Since this is a research-based course, class participation is required. We (everyone) will discuss the papers and our research progress in class. Note that your performance in class, including presentation and discussion form 45% of your overall grade, so it does matter that you both show up to class and participate in the discussion.

Research Project

The best way to learn is by doing. You will undertake your own research project individually or in a group of two, or three if it is a large project. A group with a size larger than two is not encouraged, but is possible if you have a strong justification that the project needs more members. I will provide a list of ideas to get you started thinking, but I highly encourage you to pursue your own ideas which typically lead to better results. You will write a project report and present it at the end of the course. The details of the research project is described in the following link.

You can find a list of 523 projects that were subsequently published in workshops, conferences, and journals.

We do not release information that are not opened to public to protect students' work (many of which are closely connected to their thesis research).

Note: You are expected to be aware of Academic Integrity Guidelines of the University of Illinois. Any violation of the course or university policies will be treated seriously, and could lead to severe repercussions. Pleae don't cheat. It's not worth it.

Grading

There is no homework, no midterm, no final exams. The course is about discussing Systems research (10%) and doing Systems research (90%). Note that the Project Proposal, Checkpoint Report 1, and Checkpoint Report 2 account for 5%, 5%, and 5%, respectively.

Credit

This course is designed based on CSE 221 (Graduate Operating Systems) taught at University of California at San Diego (where I did my PhD). It was my favourite course during my grad school -- I took it and TA-ed for it multiple times with different professors including Geoff Voelker, Yuanyuan Zhou, and Stefan Savage. They should take the credits for the course design.