If you find errors in the textbook, please mail Jeremy.Singer@glasgow.ac.uk with details, so we can compile a list of corrections. Like Donald Knuth, we will offer micro-rewards to discoverers of errors.

Chapter 1

Listing 1.2.1: line 2 has a duplicated variable name on the left hand side of the assignment. It should read:
  systemState = processorAction(systemState)
Thanks to Madhuresh Minoshi for this correction.

Chapter 5

Section 5.3: task_- struct should be task_struct - linebreaking problems, sorry.

Chapter 7

Section 7.3.6: Description of condition variables (top of p180).
Note that the call to pthread_cond_wait() automatically and atomically unlocks the associated mutex; the mutex is automatically and atomically unlocked locked when receiving a signal.
Thanks to Finlay Durkin for this correction.