Sunday, December 19, 2010

SCHEDULING CRITERIA

·         CPU Utilization

We want to keep the CPU as busy as possible. CPU utilization may range from 0 to 100 percent. In a real time operating system, it should range from 40 percent (for a lightly loaded system) to 90 percent (for a heavily used system). Maximum utilization of CPU can be done if all processes are CPU bound. Round Robin is best example for CPU utilization.

·         Throughput

If the CPU is busy in executing processes, then work is being done. Throughput is the amount of work that the system is able to do per unit time. It is measured as the number of processes that are complicated by the system per unit time. For example, n processes are complicated in an interval of t second; the throughput is taken as n/t processes per second during that interval. Throughput is normally measured in processes/hour. Note that value of throughput does not depend only on the capabilities of a system, but also nature of jobs being processes by the system. For long processes, throughput may be one process/hour; and for short processes, throughput may be 100 processes/hour. There must be maximum number of processes in a short time.      

·         Turnaround Time

From the point of view of a particular process, the important criterion is how long it takes to execute that processes. The interval from the time of submission of a process to the time of completion is the turnaround time. Turnaround time is the sum of the Periods spent waiting to get into memory, waiting in the ready queue, executing on the CPU, and doing I/O. Turnaround time must be less.

·         Waiting Time

The CPU scheduling algorithm does not affect the amount of time during which a process executes or does I/O; it affects only the amount of time that a process spends waiting in the ready queue. Waiting time is the sum of the period spent waiting in the ready queue.

·         Response Time

In the interactive system, turnaround time may not be the criterion. Often, a process can produce some output fairly early and can computing new results while previous results are being output to the users. Thus, another measure is the time from submission of a request until the first response is produced.  This measure, called response time.