CSC 7103 Advanced Operating Systems
Fall 2025
Live lectures in 1236 Patrick F. Taylor Hall, Time: Tuesday/Thursday 1.30-2.50pm
CSC 7103 Advanced Operating Systems, as the name suggests, deals with advanced topics in the field of Operating Systems.
Operating systems are a critical and complex piece of software that does the heavy lifting of managing computing devices for other software. It is also one of the few kind of software that has been extensively engineered, studied, refined, debated, and even overhauled for over decades. While one might consider operating systems as a mature software already, its evolution is far from complete with exciting new ideas that keep being proposed.
This course exposes students to the operating systems as a research field and study operating systems, and more broadly computer systems in general, from a design point of view. We will examine different systems in both important historical context and recent research developments. This course involves readings on classic and new papers. Topics include OS structure and extension techniques, virtualization, synchronization, communication, file systems, cloud systems, reliability, formal verification, security, and history and experience of systems.
The class work consists of a series of several individual programming assignments honing your general programming skills and up to three projects that are based on the PintOS kernel. You will learn a lot from these, but be prepared to spend a significant amount of time working on them.
For more information see:
- Lectures
- Lecture 1 - Welcome and Getting Started
- Lecture 2 - Source code control and Refreshing C
- Topic 1 - OS Fundamentals
- Topic 2 - Concurrent Processes and Programming
- Topic 3 - Inter-process Communication (IPC) and Coordination
- Topic 4 - Distributed Process Scheduling
- Topic 5 - Real-time Scheduling
- Topic 6 - Distributed Shared Memory
- Topic 7 - Distributed File Systems
- Assignments
- Assignment 0 (due September 2)
- Assignment 1 (due September 11, 11:59 pm)
- Assignment 2 (due October 13, 11:59 pm)
- Assignment 3 (due December 8, 11:59 pm)
- Reading Assignments
- Reading Assignment 0 (due September 4)
- Reading Assignment 1 (due September 11)
- Reading Assignment 2 (due September 18)
- Reading Assignment 3 (due September 25)
- Reading Assignment 4 (due October 2)
- Reading Assignment 5 (due October 9)
- Reading Assignment 6 (due October 23)
- Reading Assignment 7 (due October 30)
- Reading Assignment 8 (due November 6)
- Reading Assignment 9 (due November 13)
- Reading Assignment 10 (due November 20)
- Reading Assignment 11 (due December 4)
- Course material:
- Resources