CPS 510: Operating Systems
home calendar topics work resources

Curriculum for Operating Systems
CPS 310/CPS 510
Duke University
Instructors: Jeff Chase, Mike Hewner, Danyang Zhuo

This outline and schedule of topics is from Fall 2020. In that semester the introductory (CPS 310) and advanced (CPS 510) courses are synchronized and interleaved week-by-week. The courses are in a FLIP style with prerecorded lectures and synchronous meetings for discussion or structured activities. There are lab projects due each week. Labs labeled advanced are optional for CPS 310. CPS 510 students focus on an independent project with no labs beginning in Week 10.

Here is an outline of lecture topics and class activities for each week. The header for each week is a general theme of the week for both courses, though there is some topic drift to meet the demands of the lab schedule. We list CPS 310 topics in detail along with selected advanced (CPS 510) topics for each week.

Week 1: Introduction

Week 2: Virtualization

Week 3: Protection and authority

Week 4: Concurrency

Week 5: Synchronization

Week 6: Scheduling and I/O

Week 7: Servers

Week 8: The Unix process model

Week 9: Security

Week 10: More security

Week 11: Failure and recovery

Week 12: File systems

Week 13: Storage management