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

Time: TTh, 9:00am - 10:15am
Location: Zoom

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

TA: Ferhat Erata (AKW 210, ferhat.erata@yale.edu)
Office Hours: Wednesday, 11 AM to 12 PM
Zoom: https://yale.zoom.us/my/ferhat

TA: Tong Cheng (AKW 305, tong.cheng@yale.edu)
Office Hours: Monday, 11 AM to 12 PM
Zoom: https://yale.zoom.us/my/tongcheng

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.