Scheduling Criteria
5.2 Scheduling Criteria
- There are several different criteria to consider when trying to select the "best" scheduling algorithm for a particular situation and environment, including:
- CPU utilization - Ideally the CPU would be busy 100% of the time, so as to waste 0 CPU cycles. On a real system CPU usage should range from 40% ( lightly loaded ) to 90% ( heavily loaded. )
- Throughput - Number of processes completed per unit time. May range from 10 / second to 1 / hour depending on the specific processes.
- Turnaround time - Time required for a particular process to complete, from submission time to completion. ( Wall clock time. )
- Waiting time - How much time processes spend in the ready queue waiting their turn to get on the CPU.
- ( Load average - The average number of processes sitting in the ready queue waiting their turn to get into the CPU. Reported in 1-minute, 5-minute, and 15-minute averages by "uptime" and "who". )
- Response time - The time taken in an interactive program from the issuance of a command to the commence of a response to that command.
- In general one wants to optimize the average value of a criteria ( Maximize CPU utilization and throughput, and minimize all the others. ) However some times one wants to do something different, such as to minimize the maximum response time.
- Sometimes it is most desirable to minimize the variance of a criteria than the actual value. I.e. users are more accepting of a consistent predictable system than an inconsistent one, even if it is a little bit slower.