CPS 510: Operating Systems, Fall 2020
home calendar topics work resources
Class Meetings
Tu 3:30 - 4:45 Ghost class: no required session except by special announcement; instructors available.
Th 3:30 - 4:45 Activity on Zoom: access through Sakai.
Prerecorded lectures on Panopto
Instructors
Jeff Chase (chase at cs.duke.edu)
Mike Hewner (hewner at cs.duke.edu)
Danyang Zhuo (danyang at cs.duke.edu)
Help
Piazza: please follow standard etiquette.
Office hours: instructors available during scheduled ghost class Tu 3:30-4:45.

Course announcements

Welcome to CPS 510 for Fall 2020. Here are some things to know:

  • Thread labs: p1t is due on Monday, September 28, and p1s is due on Monday, October 5. You may work in pairs if you wish. These labs use the same AG repo and tests. The p1t deadline is an interim progress checkpoint: final points are awarded for both labs based on your Oct 5 score.
  • Autograder (AG). We use AG350 to manage teams, repositories, and submission for the labs. See the labs page. The Sakai link is still wonky, so don't use that.
  • Workload. This offering of CPS 510 has weekly projects (labs) for 10 weeks, then an independent project. We also read one paper per week for Thursday discussion. There are weekly quizzes and questions on the readings. But no exams.
  • Two tracks. Course topics are synchronized week-by-week with the introductory OS class CPS 310. The 310 lectures are available to you if you want to refresh your background. We are storing them in common folders/repositories as described below.
  • Atomic lab due Monday 9/21. This lab is individual; no teams please.
  • Autograder (AG). We use AG350 to manage teams, repositories, and submission for the labs. See the labs page. The Sakai link is still wonky, so don't use that.

Every week follows the same plan: the same tasks in the same sequence at the same times every week.

  • Watch the lectures. Lectures are pre-recorded. You can find them in the Panopto folder. There are three lectures per week (a, b, c). For week number N, please watch lectures named Na-510, Nb-510, and Nc-510. Start now with week 1: 1a-510, 1b-510, and 1c-510.
  • Review the lecture materials. You can find all lecture slides and related materials in the course git repository. Clone it! Pull it! Keep it up to date. Lectures are numbered by week, sequence, and course, just like the pre-recorded lectures on Panopto.
  • Do the labs (due Monday). There is a lab for each week, due the Monday of the following week. JOS lab is due 8/24.
  • Ghost class (Tuesday). No required meeting except by special announcement. Instructors available for questions and discussion.
  • Read the paper (by Wednesday). Papers are in the repository, numbered by week.
  • Take the pre-quiz (Wednesday, on Sakai). Pre-discussion quizzes cover the week's lectures and paper.
  • Join the discussion (Thursday). We have a synchronous discussion session on Zoom (links on Sakai) every Thursday at 3:30. The session introduction and wrapup are recorded for students who cannot participate synchronously: access it through Sakai.
  • Take the post-quiz (Friday, on Sakai). Post-discussion quizzes are reflections on the week's reading.

This is an advanced course in operating systems. Topics are synchronized week-by-week with the introductory course (310), so you can review those lectures to refresh your foundations. There are about 90 minutes of pre-recorded lectures per course per week. This advanced course focuses on OS topics beyond the material in the advanced class. We focus on OS technologies for cloud environments, related security topics, OS structure and internals, multiprocessor scaling, and storage/file systems. Key topics include: containers, virtual machines, enclaves, extensible OS, high-performance concurrency, vulnerabilities and exploits, data center I/O, and safe storage. We also explore the nature of "systems" as an evolving discipline encompassing all aspects of bridging the gap between applications and hardware.


More course policies