15-410, Operating System Design and Implementation
Welcome to the Fall 2015 edition of 15-410.
The traditional textbook is Operating System Concepts, by Silberschatz, Galvin, and Gagne. If you are buying a new book, it may make sense to get the 2011 "update" of the new eighth edition if you are most concerned about retail value. If you are buying a used book, however, you will probably find the seventh and sixth editions cheaper. Either one may be used (what you get out of the textbook depends more on how much time you spend with it than on which edition you have). Avoid some of the stranger sub-editions, e.d., "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 by Anderson and Dahlin. Since this book is in beta, it is mostly available online:
You may also find useful the 15-213 textbook, Computer Systems: A Programmer's Perspective; 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.