Comprehensiveness rating: 3 read less
This little gem of a book is an excellent introduction to semaphores and their use in synchronization/concurrency control. The book discusses a large number of concurrency control problems both simple and hard. The book is quite comprehensive in terms of the range of concurrency control problems it covers. For each problem, the book walks the reader through a number of solutions including non-solutions that might lead to deadlocks or starvation. Each solution is very nicely described.
The book does not talk much about the basic mechanisms used to achieve mutual exclusion (such as interrupt disabling, test-and-set instruction, algorithms such as Peterson's algorithm). There is no separate treatment of deadlocks (and deadlock detection/avoidance/prevention strategies) beyond what is covered in the discussion of solutions to various concurrency control problems.
Accuracy rating: 5
The content is accurate and very reader friendly.
Relevance/Longevity rating: 5
Concurrency control as a topic is unlikely to become obsolete in foreseeable future. All undergraduate level courses in Operating Systems devote a significant portion of class time to the concurrency control discussion. The book is an excellent textbook for use in this discussion and will stay useful for many many years.
Clarity rating: 5
The book is very well written. Very easy to read.
Consistency rating: 5
The book is consistent in terms of the terminology used.
Modularity rating: 5
The book is highly modular.
Organization/Structure/Flow rating: 5
The book is very well structured. Various chapters follow a logical order.
Interface rating: 5
The book is formatted in a manner that makes it easy for the instructor to use the book pages as class handouts, which is nice.
Grammatical Errors rating: 5
There are no grammatical errors.
Cultural Relevance rating: 5
There is no culturally insensitive or offensive content in this book.
Very valuable contribution to the field.