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
Location: Biological Sciences 111
Discussion: Fri 3:05-4:20pm (in LSRC B101)
Resources: Website, Syllabus, Canvas, Gradescope, Ed, Office Hours

Course Staff

Instructors: Matthew Lentz
Coordinators: Alex Chao
Graduate TAs: Alexander Du, Chenyang Liu
Undergraduate TAs: Priyanshi Ahuja, Aruj Bansal, Adam Ebrahim, Hunter Habersaat, Ethan Hsu, Hung Le, Michael Li, Arim Lim, Lasal Mapitigama, Vihaan Saharia
Office Hours: See Ed post for up-to-date calendar and Zoom meeting link(s)

Grading

50% Exams
Midterm exam (20) and final exam (30)
50% Labs
User- and kernel-space programming assignments