Bölüm 6 · SimülatörSynchronization Lab? ← Bölüm 6 Mutex Semaphore Prod–Cons Readers–Writers Philosophers CompareMode Actors 4 Capacity 2 Speed 1.5/s Step 0/0 ✓ Inside 0 ⏸ Blocked 0 ⚠ Deadlock CloseSynchronization LabActors run a small program built from wait/signal operations on semaphores. A round-robin scheduler lets the next unblocked actor execute one operation per step, so you can watch who enters the critical section, who blocks in a semaphore’s FIFO queue and who wakes whom. The panel on the right lists every actor’s next operation and the latest events.How to usePick a scenario: Mutex (shared counter), Semaphore (limited permits), Producer–Consumer (bounded buffer), Readers–Writers or Dining Philosophers.The second row changes the variant (with or without a lock, which side is faster, ordered or naive forks), the number of actors (2–8) and the capacity (permits or buffer slots, 1–6).▶ plays; the step buttons move one operation back or forward, or jump to the start or end (at most 150 steps, or until a deadlock).Compare runs the variants of the current scenario for 120 steps side by side.Operationswait(S)S > 0: decrement. Else block in S’s FIFO queue.signal(S)Wake the first waiter (it gets the permit), else increment S.SchedulerRound-robin: next unblocked actor runs one operation.MutexBinary semaphore around read → modify → write.RaceUnsynchronized: two stale reads lose an update.empty / fullFree / filled buffer slots.rw_mutexFirst reader locks, last reader unlocks; writers need it alone.Ordered forksLower-numbered fork first breaks circular wait.DeadlockEvery actor blocked: no one can signal.Legend ready ✓ inside critical section ⏸ blocked just actedKeys←→ stepSpace playHomeEndEsc close