- Back to Home »
- Scheduling Objectives in Process
Scheduling Objectives in Process:
Schedulers typically attempt to achieve some combination of the following, goals. Note that, to some extent, these goals are contradictory:
Maximize CPU utilization (due to its relatively high cost).
Maximize utilization of other resources (disks, printers etc.).
Maximize throughput = number of jobs completed per unit time.
Minimize waiting time = total time a job spends waiting in the various queues for a resource to become available.
Minimize turnaround time = waiting time + computation time + I/O time.
Minimize response time (timesharing) = time from entry of a command until first output starts to appear.
Fairness: All comparable jobs should be treated equally.
Avoid indefinite postponement: It is normally avoided by using aging. In aging, the priority of a process, grows as it waits for a resource. The priority slowly becomes highest and it gets the resource.
Uniformity: The behavior of the system should be predictable.
Graceful degradation: The system, response deteriorates gradually rather than coming to a sudden virtual standstill in case of excessive loads.
Predictably: A given job should run in about the same amount of time and at about same cost regardless of system load.