Operating systems
Free Synchronization lessons
8 lessons, about 2 hours in all. Each teaches one idea with a visual, then gives you a problem or a few questions on it. Read the lessons here, then create a free account to practise and keep your progress.
Stage 0The problem: sharing data
Stage 1Locks and semaphores
Stage 2The classic problems
- Producer and consumerSolve the bounded-buffer problem with semaphores, and see how one wrong ordering causes deadlock.14 min
- Readers and writersAllow many readers or one writer, and see how a simple preference rule can starve the other side.12 min
- The dining philosophersSee how each philosopher grabbing a fork can freeze everyone, and the standard ways to prevent it.13 min
- Monitors and condition variablesSee how a monitor bundles the lock with the data, and why a condition wait belongs in a while loop.13 min
All of Synchronization is free
That’s the whole topic, from the first idea to the mastery stage, with no card needed. Create a free account to practise, keep your progress and carry on to the next topic.
Create your free account