Operating Systems Principles

CSC 501 (001, 601), Fall 2025

Course Information

   
Instructor Man-Ki Yoon
Class Room 2207 EB3
Class Hours M/W 3:00–4:15 pm
Office Hours M/W 4:15–5:15 pm (3254 EB2 or Zoom)
Teaching Assistant Andrew Robie
Online Tools Moodle, Ed Discussion, Gradescope, GitHub

Course Description

The goal of this course is for students to understand advanced topics in operating systems: scheduling, virtual memory, synchronization, file systems, and distributed systems. The material will be covered in terms of operating systems internals rather than the operating systems interface. Students will also read, present, and discuss representative research papers (from classical articles to recent publications in top systems conferences) on various topics related to operating systems.

Prerequisites

CSC 246 (Concepts and Facilities of Operating Systems for Computer Scientists), CSC 316 (Data Structures), and programming competence in C (not C++) and Unix.

Course Materials

Required Textbook

Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau, Operating Systems: Three Easy Pieces

Lecture Notes

Lecture notes will be uploaded on Moodle.

Acknowledgement: This course includes materials provided by Dr. Remzi H. Arpaci-Dusseau, Dr. Vincent Freeh, Dr. Xiaohui Gu, Dr. Xuxian Jiang, Dr. Xiaosong Ma, Dr. Frank Meuller, Dr. Xipeng Shen, and Dr. Guoliang Jin.

Optional Textbooks

Thomas Anderson and Michael Dahlin, Operating Systems: Principles and Practice, 2/3, Recursive Books (2014). Douglas Comer, Operating System Design: The Xinu Approach, 2/e, Chapman and Hall/CRC (2015).
William Stalling, Operating Systems: Internals and Design Principles, 7/e, Prentice Hall (2011).
Andrew S. Tanenbaum and Hebert Bos, Modern Operating Systems, 4/e, Prentice Hall (2014).
Abraham Silberschatz, Peter B Galvin, Greg Gagne, Operating System Concepts, 10/e, John Wiley & Sons, Inc. (2018).