Scheduling Criteria
What is defined to be the "best" order in which programs run? "Best" is a relative notion!
It depends on the goals that we are trying to achieve when running processes on a specific device. We call such goals scheduling criteria, some of which are:
- CPU utilization = how much of the time a CPU is working (how busy it is.) The ideal is 100% utilization, while, in reality, it should range from 40% to 90%.
- Throughput = how many processes completed in a unit of time. The greater the number of processes who got to complete, the greater the throughput is.
- Turnaround time = the time it takes a particular process to complete, from start to finish.
- Waiting time = how much time on average processes wait in the waiting queue to run on a CPU.
- Load average = how many processes on average are sitting in the ready queue to run on a CPU.
- Response time = the time it takes on average for a process to respond to a user's command.