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.

Lecture: Tue/Thu 4:40-5:55pm
Location: Gross Hall 103
Resources: Syllabus, Canvas, Gradescope, Ed, HotCRP

Course Staff

Instructors: Matthew Lentz
Graduate TAs: Chenyang Liu
Undergraduate TAs: Lasal Mapitigama
Office Hours:
Matthew Lentz - TBD + (Briefly) After Lecture
Chenyang Liu - TBD
Lasal Mapitigama - TBD

Grading

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 readings
5% Participation
Actively engaging with in-class and online discussions