Course Overview

This course will focus on fundamental principles of operating systems. We will explore the various roles of the operating system which include managing and multiplexing available hardware resources, providing higher-level abstractions for applications to use in interacting with the hardware platform, and enforcing isolation and protection for software programs. We will cover topics such as: concurrency, file systems, synchronization, virtualization, inter-process communication, and scheduling. Additionally, we will explore how these concepts relate to modern systems beyond the operating system itself (e.g., distributed systems). The topics discussed in this course are similar to CPS 310; however, this course includes more advanced topics and projects, and incorporates readings and discussions of relevant papers (both recent and classical).

For more information, please see the course syllabus.

Course Information

Instructors: Matthew Lentz
Location: Gross 103
Time: Tue/Thur 12:00pm - 1:15pm
TAs: Yongji Wu
Office Hours:
Matthew Lentz - TBD (or by appointment)
Yongji Wu - TBD
Resources: Syllabus, Sakai, HotCRP


40% Exams
Midterm (15) and final (25) exams
25% Project
Large-scale project and writeup
25% Labs
User- and kernel-space programming assignments
5% Responses
Writing thoughtful responses to the weekly readings
5% Participation
Actively engaging with in-class and online discussions