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.

Course Information

Instructors: Matthew Lentz
Location: LSRC B101
Time: Mon/Wed 3:05-4:20pm
TAs: Avery Blanchard
Office Hours:
Matthew Lentz - TBD in LSRC D314
Avery Blanchard - TBD
Resources: Syllabus, Sakai, Gradescope, Ed


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