About this simulator
A process is not always running: during its life it moves between five states. It is New when created, Ready when waiting for the CPU, Running while it executes, Waiting when blocked on I/O, and Terminated when finished. This simulation runs several processes at once and highlights every transition on a state diagram you can drag and zoom.
How it works
- New → Ready when the process arrives and is admitted. Ready → Running when the scheduler dispatches it.
- Running → Ready if its time quantum expires; Running → Waiting when it starts I/O; Waiting → Ready when the I/O completes.
- Running → Terminated when its last CPU burst finishes. Each process runs CPU, then I/O, then CPU again.
Worked example
One process arrives at time 0 with a 2-unit CPU burst, 3 units of I/O and a final 1-unit burst. It is admitted and dispatched at t = 0 (New → Ready → Running), starts I/O at t = 2 (Running → Waiting), returns to Ready and runs again at t = 5 when the I/O completes, and terminates at t = 6.
Enter these numbers in the simulator above to see every step.
When to use it
- Explaining the process life cycle in operating-systems classes.
- Understanding the difference between Ready and Waiting.
- Seeing what the time quantum does to the Running → Ready transition.
Frequently asked questions
What are the five process states?
New, Ready, Running, Waiting (blocked) and Terminated.
What is the difference between the Ready and Waiting states?
A Ready process can run as soon as the CPU is free. A Waiting process is blocked until an event such as I/O completion happens.
Which transition happens when a time quantum expires?
Running → Ready: the scheduler preempts the process and puts it back in the ready queue.