TDDI04 Concurrent programming, Operating Systems, and Real-time Operating Systems
Literature
Main textbook
You will need a textbook for background reading and exam preparation. Neither lecture, lesson or lab content are tightly bound to any specific textbook, which means any book, or combination of books that cover the course contents can be used. A list of keywords you should be familiar with is provided. It is recommended to read about one chapter each week, preferably before the lecture.
Despite English homepage and literature the course (lectures and exam) is given in Swedish. I have not found any suitable operating systems book written in Swedish.
Books tend to come in new editions faster than I switch course literature. In general any newer edition of the recommended books should be fine to use, and probably some older editions too.
Reading instructions (keywords)
Read relevant content each week, preferably before the lecture.
Reading instructions
Recommended textbooks
Operating Systems, Internals and Design Principles, 6th edition (or later)
by William Stallings (822 pages)
This book was used as first choice 2010, but I got the impressions
many students were unhappy with it. I find it more specific and
detailed than SGG below, and with more synchronization examples. The
main complaint is perhaps a crappy index.
ISBN-10: 0-13-603377-0, ISBN-13: 978-0-13-603377-0
Operating System Concepts, 7th edition (or later)
by Silberschatz, Galvin and Gagne
This book will probably be easier to get second-hand since it is, and
have been, used in similar courses for a long time. Students in
general seem to be happy with it, and it have a good index. A list
of corrections for the 7th edition
have been compiled by compiled by C. Kessler, July 2005. Stay away
from the versions with additional words in the title ("with Java, with
Symbian OS", ...). They may be different. I have the 7:th edition, but
8th edition paperback ISBN below should be OK if you order the book.
ISBN-13: 9780470233993 (8th edition, paperback)
Other useful books
Applied Operating Systems Concepts by Silberschatz, Galvin and Gagne
Operating Systems by Garry Nutt
Operating Systems - Concurrent and Distributed Software Design by Bacon and Harris
Operating Systems Principles by Bic and Shaw
Operating Systems by Deitel, Deitel and Choffner
Lab documents
The most important piece of documentation is the original pintos documentation [stanford.edu]. Or if you prefer it, as pdf. The projects referred to in this document are not the same as our laboration assignments!
Background reading on real-time systems
In case you want to read more about the principles of real-time systems, we can recommend the following book:
Real-time systems by Jane W. Liu
Available in Kvartersbibliotek B, kursref
More articles on operating systems
The Effect of Deceptive Idleness on Disk Schedulers by Iyer, Sitaram
An interesting approach to disk-scheduling.
Anticipatory scheduling: A disk scheduling framework to overcome deceptive idleness in synchronous I/O by Iyer, Sitaram; Druschel, Peter
An interesting approach to disk-scheduling.
Design patterns for semaphores by Kenneth A. Reek
"Pass the Baton" and "I'll Do It For You" patterns for how to use semaphores correctly.
Process Synchronization with Readers and Writers Revisited Jalal Kawash
Much of what you want to know about Readers-Writers problem, including code examples.
The Locality Principle by Peter J. Denning
Short review of OS research on virtual memory, working sets, and
locality optimizations.
Communications of the ACM 48(7):19-24, July 2005.
Detection and prevention of stack buffer overflow attacks. by B. Kuperman et al.
No description.
Communications of the ACM 48(11):19-24, Nov 2005.
The Problem with Threads by Edward A. Lee
No description.
IEEE Computer May 2006, pp. 33-42.
Page responsible: Klas Arvidsson
Last updated: 2012-01-04
