A number of scheduling algorithms are being designed that can be applied to different processes having different properties. The scheduling criteria involves:
CPU utilization: The CPU must be best utilized to its maximum.
Throughput: This factor is concerned with the number of processes whose execution is completed in a given unit of time. The throughput time also needs to be maximized.
Turn-around time: This is the total time that a process takes from the moment it is submitted for execution to the time of completion of execution.
Waiting time: This is the time a process spends in the ready queue.
Response time: This is the time factor that indicates the time elapsed from the moment a request is made and is responded. The turnaround time, the waiting time, and the response time are best to be minimized. It is better to deal with the average timings. We shall now discuss different scheduling algorithms.