Concurrency and Synchronization: Reading Guide
Primary source and scope
Use Operating Systems: Three Easy Pieces for atomicity, locks, condition variables, and deadlock. Find these topic headings in your edition; section numbering can differ. Start with the module concepts and worked examples.
Read actively
Trace legal interleavings in the concurrency chapters. Define the protected invariant and the predicate associated with every condition-variable wait.
When to stop and when to go deeper
For the compact path, stop once you can solve the transfer task, explain its assumptions, and pass the guided lab. For the full-book path, this assignment is a checkpoint within your scheduled whole-book reading, not permission to skip the remaining book. Additional sources belong in a question log until they address a specific failure.
Required queue-contract extension
Complete Bounded queues, wakeups and graceful close and all CQ1–CQ6. This 22–32-hour package replaces the former three-hour queue exercise; original concurrency practice remains required.