15-410, Operating System Design and Implementation
Welcome to the Spring 2018 edition of 15-410/605.
The traditional textbook is Operating System Concepts, by Silberschatz, Galvin, and Gagne. We provide a table mapping reading assignments to the 6th through 10th 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.
You are responsible for checking the official CMU final exam schedule and immediately notifying instructors of all affected courses about any conflicts.
Some of the library software used in this class is used under license (more info).
[Last modified Thursday January 04, 2018]