Scheduling is a process which allows one process to use the CPU while the execution of another process is on hold (in waiting state) due to unavailability of any resource like I/O etc. 2. The aim of scheduling is to make the system efficient, fast and fair. Scheduling Criteria: I) CPU Utilization:
To make out the best use of CPU and not to waste any CPU cycle, CPU would be working most of the time (Ideally 100% of the time). Considering a real system, CPU usage should range from 40% (lightly loaded) to 90% (heavily loaded) Keep the CPU Busy as much as possible.
The number of process executed by the system in a specific period of time, this time unit is called through put. For long process this rate may be one process per minute. Similarly for short process, it may be 100 processes per minute. The evaluation of through must be considered on the basis of average length.
III) Turnaround time:
Turnaround time represents the average period of time taken by a process executes. The turnaround time is computed by subtracting the time, when the process was created from the time is terminated. The turnaround time is inversely proportional to through put.
IV) Waiting time:
Waiting time represents the average period of time, a process spends waiting in the ready queue to get a chance for execution. It does not include the time, a process is executing on the CPU or performing I/O. Waiting time is also very important factor to measure the performance of the system.
V) Response time:
Response time represents the average time take by the system to start responding to user request. The response time is considered in interactive systems. For example, ATM is an interactive system, which is used in banks for withdrawal of money. The user expects that the system should response quickly. Response time in an interactive system should be very less.
In general CPU utilization and Throughput are maximized and other factors are reduced for proper optimization.