
Interactive OS concurrency simulator · Web & iOS
Prof. Sema
Race conditions, mutexes, semaphores, deadlock — drive real threads step by step and see exactly why concurrent code breaks.
Prof. Sema is an interactive study tool for the hardest part of an Operating Systems course: concurrency. Instead of reading about race conditions, you drive two real threads through a shared counter one operation at a time. At every step you choose the next operation from a mix that includes the one correct move and several traps — the actual mistakes students make on exams — unlabeled, so you have to judge for yourself. Pick wrong and it really executes: the bug plays out with an animation faithful to what the CPU actually did, then undoes so you can try again. Seven levels build from a no-lock race, through mutexes and semaphores (both wait()/signal() and P()/V() notation), to producer–consumer, readers–writers, a two-account transfer deadlock, and the Dining Philosophers. No accounts required — everything works anonymously with local progress; sign in with Google or Apple only if you want progress synced across devices.
7
Concurrency levels
9
Languages
$0
Free, no account needed
0
Third-party tracking SDKs
Screenshots





Highlights
Pick the Operation, Not the Answer
The correct move sits unlabeled among several realistic traps — you have to reason about the actual thread state, not guess a multiple-choice pattern.
Wrong Answers Really Execute
Pick a trap and the bug actually happens — a lost update, a stale write, a deadlock — animated faithfully to the engine's real state, then undone so you can retry.
Seven Exam-Aligned Levels
The Race, The Lock, semaphore wait()/signal() and P()/V(), Producer–Consumer, Readers–Writers, a two-account transfer deadlock, and Dining Philosophers.
Deterministic Engine
A seeded, event-sourced simulation engine — scrub the timeline forwards or backwards and always land on the exact same state.
No Account Needed
Every level works anonymously with progress saved on-device. Sign in with Google or Apple only if you want it synced across devices.
Nine Languages
The full teaching surface — every trap explanation, hint, and completion note — is translated, with Simplified and Traditional Chinese fully localized.
Built with
- TypeScript
- React
- Capacitor
- Cloudflare Workers
- D1
- GSAP