Different CPU – scheduling algorithms have different properties and may favor one class of processes over another. In choosing which algorithm to use in a particular situation, we must consider the properties of the various algorithms. Many criteria have been suggested for comparing CPU –scheduling algorithms. The characteristics used for comparison can make a substantial difference in the determination of the best algorithm.
Let us consider various scheduling criteria.
(i) CPU Utilization
CPU should remain as busy as possible. In a real system, CPU utilization should range from 40% to 90%.
It refers to the amount of work completed in a until of time. One way to measure throughput is by means of the number of processes that are completed in a unit of time. The higher the number of processes, the more work apparently being done by the System. But this approach is not very useful for comparison because this is dependent on the characteristics and resource requirement of the process being executed. For example, if all the process is CPU bound, throughput will be less as compared to I/O bound processes. Therefore to compare throughput of several scheduling algorithm it should be fed to the process with similar requirements.
(iii) Turnaround Time
It may define as interval from the time of submission of a process to the time of its completion. It is the sum of the periods spent waiting to get into memory. Waiting in the ready queue, CPU time and I/O operations. It should be as less as possible.
(iv) Waiting Time
In multiprogramming operating system several jobs reside at a time in memory CPU executes only one job at a time. The rest of jobs wait for the CPU. Waiting time is the time spent in for waiting for resource allocation due to contention with others in multiprogramming system by the process. It is calculated by the following equation.
W(x) = T(x) – x
Where W(x) = Waiting Time
T(x) = Turnaround time
x = Units of services
(v) Response Time
In an interactive system, response time is the best metric. It is defines as the time interval between the job submission and the first response produces by the job. Response time should be minimized in an interactive system.