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.