Scheduling
The scheduler chooses processes to run from the ready queue.
The scheduling algorithm determines how jobs are scheduled.
In general, the scheduler runs:
- when a process switches from running to waiting
- when an interrupt occurs
- when a process is created or terminated
In a preemptive system, the scheduler can interrupt a process that is running.
In a non-preemptive system, the scheduler waits for a running process to explicitly block