Hide menu

TDDI04 Concurrent programming, Operating Systems, and Real-time Operating Systems


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