CPSC 423/523: Principles of Operating Systems (Spring 2022)

Time: TTh, 9:00am - 10:15am
Location: Jan 25 - Feb 3: Zoom
Location: Feb 8 - Apr 29: WLH 119

Instructor: Avi Silberschatz (AKW 308, avi@yale.edu)
Office Hours: By appointment over Zoom

TA: Ferhat Erata (AKW 203, ferhat.erata@yale.edu)
Office Hours: Friday, 1 PM to 2 PM
Zoom: https://yale.zoom.us/my/ferhat

TA: Tong Cheng (AKW 305, tong.cheng@yale.edu)
Office Hours: Mondayy 3 PM to 4 PM
Zoom: https://yale.zoom.us/my/tongcheng

TA: Jialu Zhang (AKW 210, jialu.zhang@yale.edu)
Office Hours: Tuesday, 1 PM to 2 PM
Zoom: https://yale.zoom.us/my/jialuzhang

ULA: Aman Heyer (aman.heyer@yale.edu)

Textbook: Operating System Concepts, Tenth Edition

Course description: Introduction to the fundamental principles of operating system design. The concepts and algorithms covered in the course are based on those used in both commercial and open-source operating systems. We present these concepts and algorithms in a general setting that is not tied to one particular operating system. However, we present a large number of examples that pertain to the most popular and the most innovative operating systems, including Linux, Microsoft Windows, Apple Mac, Solaris, Android and iOS. We also assign some simple coding labs to help students understand important knowledge and representative algorithms used in operating systems, such as CPU scheduling, synchronization and virtual memory.

The material is intended for a first course in operating systems at the junior or senior undergraduate, or first-year graduate, level. In addition to basic material for a first course, the course covers advanced material that can be used for course supplements, or as introductory material for an advanced course.

Syllabus: Operating system structure, process management, CPU scheduling, process synchronization, memory management, storage management, file systems, security, protection, virtual machines, networking, and distributed systems.