Operating Systems Principles

CSC 501 (001, 601), Fall 2024

Course Information

   
Instructor Man-Ki Yoon
Class Room 1230 EB2
Class Hours Tu/Th 3:00–4:15 pm
Office Hours Tu/Th 4:30–5:30 pm (3254 EB2 or Zoom)
Teaching Assistant Andrew Robie, Dhruva Ungru Pulithaya
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).

Course Structure and Grading Policy

The table below shows the percentage-based breakdown of how each requirement will factor into the overall grade.

   
Programming Assignments (4 PAs) 55%
Exam (1 x 20%) 20%
Paper Reading and Presentation (15% + 10%) 25%
Total 100%

See here for attendance and late assignment policies.