Carnegie Mellon
SCS logo
Computer Science Department

15-410, Operating System Design and Implementation

Welcome to the Fall 2017 edition of 15-410/605.


Wait list
This course is usually full, so it is very possible that you will not be able to take it the first time you want to. Please note that the Registrar's wait list is not a FIFO queue; students will be accepted from the wait list according to our best estimate of readiness to successfully complete the class, moderated to some extent by urgency. Your numerical position on the registrar's wait list is irrelevant. Please do not send us mail about your numerical position on the registrar's wait list.
Getting off the wait list
If you are concerned about getting into the class, probably the best way to improve your chances is via your academic advisor: if your advisor makes the case to us that you are solidly prepared and that this course is important to your educational objectives, that will help. This is not a skippable step. If your advisor doesn't understand the objectives and time commitment of this class and your educational objectives well enough to affirmatively recommend that you should take this course this semester, you should discuss these topics with your advisor before contacting us about getting into the class.
This course is usually full, and we generally receive many more requests to audit than we can accept. If you wish to audit, please have your advisor contact us before the semester begins to discuss how auditing might meet your educational goals.


The traditional textbook is Operating System Concepts, by Silberschatz, Galvin, and Gagne. We provide a table mapping reading assignments to the 6th through 9th editions of the book. The newer editions are more up-to-date on some topics, but they are also more expensive. What you get out of the textbook depends more on how much time you spend with it than on which edition you have, though you probably want to avoid some of the stranger sub-editions, e.g., "Essentials" or "with Java". We will not cover all of the text, and some topics (such as synchronization) will be taught using additional material. Rumor has it that the OSC text is available (purchase or rental) as an e-book from at least one major e-book vendor. As we have no experience with this format, if you try it, please let us know whether you like it.

The experimental textbook is Operating Systems: Principles and Practice, Second Edition, 2014, by Anderson and Dahlin:

You may also find useful the 15-213 textbook, Computer Systems: A Programmer's Perspective, Third Edition; the K&R C book; and perhaps C Traps and Pitfalls. An excellent source of suggestions for programming style and structure is Brian Kernigan and Rob Pike's The Practice of Programming, especially the first few chapters.


Until the semester actually begins, here is a self-assessment/warm-up exercise. This exercise is mandatory for incoming 410 students who have not passed 15-213 and is not a bad way for all incoming students to get back up to speed.

  • 15-410 self-assessment exercise
  • Prerequisite/self-assessment status form
  • Intel's Instruction Set Reference
  • Please take this opportunity to read the syllabus. It really does answer questions you will have later in the course.

    You are responsible for checking the official CMU final exam schedule and immediately notifying instructors of all affected courses about any conflicts.

    Wind River graciously supports our educational mission by providing us with a free Simics license (more info).

    Some of the library software used in this class is used under license (more info).

    [Last modified Thursday September 21, 2017]