- Running -> Blocked
- Running -> Ready
- Ready -> Running
- Blocked -> Ready
Events:
- timer interrupt
- Running process makes a system call
- A system call completes (e.g. a resource becomes available)
Scheduler: Handles transition 3. But note that transition 4 goes from Blocked to Ready, not Blocked to Running.
This typically gives more chance of implementing whatever scheduling policy is desired.