CPS 210 Operating Systems
home calendar topics work resources
Class Meetings
MW 3:05 - 4:20 in B101 LSRC
F 3:05 - 4:20 in 139 Social Sciences (TA recitation)
Instructor
Jeff Chase (chase@cs.duke.edu)
Office hours: T 3:00-4:00 and Th 2:00-3:00 in D306 LSRC, or by appointment, or try a drop-in at other TTh times.
Teaching Assistant
Vamsi Thummala
Office hours: M 4:30-5:30 and W 4:30-5:30 in D307 LSRC, or by appointment
UTAs
Sunny Sun, Michael Zhou, Dennis Ochei
UTA office hours: Available on Piazza.

  • Final exam on Thursday, 12/13 from 2-5 PM
  • Lab 3 [PDF]
  • Please review the concurrency page and the paper Introduction to Programming with Threads referenced there ("the Birrell paper").
  • Lab 2 [PDF]
  • The concurrency page also has some practice problems, and solutions for some of the problems. You should plan to spend some time working these practice problems. We have plenty more where those came from! All of these problems have appeared on exams in the past. Many have appeared more than once. The instructors will be happy to answer any questions.
  • Midterm exam solutions and discussion [PDF]
  • We use piazza for discussion forum. You may post your questions over there.

This course gives an introduction to systems concepts and operating systems. Traditionally the course emphasizes classical operating systems topics: concurrency, facilities for storage, communication, and protection, kernel services and structure, architecture/OS interaction, distributed systems, and practical application of operating system concepts in real operating systems. We also explore the nature of "systems" as an evolving research discipline encompassing all aspects of bridging the gap between applications and hardware.

More broadly, an operating system is software that controls some programmable platform for sharing resources and data. All operating systems must deal with core issues of protection, resource management, program environment and execution, coordination, and reliable state storage and recovery.

The prerequisites for this course are CPS 100 and CPS 104 (or their equivalents). The intended audience is computer science undergraduates and graduate students needing a background in systems.

There is no required textbook. Several texts are available and may be worth the investment: see the intro lecture notes. There is lots of useful material in the classic computer systems textbook Bryant/O'Hallaron CS:APP. All of these texts are available from Amazon. However, exams cover only the material presented in lecture, readings, homework assignments, and group projects.


More course policies
Exam FAQ about exams in this class.
Chase's CPS undergrad-OS archive