How to evaluate scheduling algorithm?
There are many possible criteria: • CPU Utilization: Keep CPU utilization as high as possible. (What is utilization, by the way?). • Throughput: number of processes completed per unit time. • Turnaround Time: mean time from submission to completion of process. • Waiting Time: Amount of time spent ready to run but not running. • Response Time: Time between submission of requests and first response to the request. • Scheduler Efficiency: The scheduler doesn’t perform any useful work, so any time it takes is pure overhead. So, need to make the scheduler very efficient. • Big difference: Batch and Interactive systems. In batch systems, typically want good throughput or turnaround time. In interactive systems, both of these are still usually important (after all, want some computation to happen), but response time is usually a primary consideration. And, for some systems, throughput or turnaround time is not really relevant – some processes conceptually run forever. • Difference between lon