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, storage, virtualization, communication, security/protection, and scheduling. Additionally, we will explore how these concepts relate to modern systems beyond the operating system itself (e.g., distributed systems).

For more information, please see the course syllabus.

Lecture: Mon/Wed 3:05-4:20pm
Discussion: Fri 3:05-4:20pm
Location: LSRC B101
Resources: Syllabus, Sakai, Gradescope, Ed

Course Staff

Instructors: Matthew Lentz
Graduate TAs: Avery Blanchard, Swati Singh
Undergraduate TAs: Chavez Cheong, Erik Dahlberg, Alexander Du, Andrew Fate-Bolognone, Claire Hagan, Julia Kourelakos, Mark Liu, Helen Xu, Ethan Yu
Office Hours: (See Ed for Zoom meeting links)
Matthew Lentz - Tuesday 3-4pm (LSRC D314) + After Lecture
Avery Blanchard - Monday 12-1pm (LSRC D309)
Swati Singh - Friday 2-3pm (Zoom)
Chavez Cheong - Thursday 7-8pm (Zoom)
Erik Dahlberg - Monday 5-7pm (Zoom)
Alexander Du - Friday 4:30-5:30pm (Zoom)
Andrew Fate-Bolognone - Tuesday 1-2pm (LSRC D309)
Claire Hagan - Thursday 2-3pm (Zoom)
Julia Kourelakos - Friday 10-11am (LSRC D309)
Mark Liu - Wednesday 1-2pm (Zoom)
Helen Xu - Monday 7-8pm (Zoom)
Ethan Yu - Friday 1:30-2:30pm (LSRC D122)


45% Exams
Midterm exam (18) and final exam (27)
50% Labs
User- and kernel-space programming assignments
5% Participation
Actively engaging with in-class and online discussions