It is also called as CPU scheduler. Its main objective is to increase system performance in accordance with the chosen set of criteria. It is the change of ready state to running state of the process. CPU scheduler selects a process among the processes that are ready to execute and allocates CPU to one of them
As we know, Process involves both I/O time and CPU time. In a uni programming system like MS-DOS, time spent waiting for I/O is wasted and CPU is free during this time. In multi programming systems, one process can use CPU while another is waiting for I/O. This is possible only with process scheduling.
So The CPU scheduling improve its efficiency. It helps you to allocate resources among competing processes. The maximum utilization of CPU can be obtained with multi-programming.
When a process enters in ready state, at this time is called Arrival time.
It is a time required by the process to complete execution. It is also called running time.
when process complete and exit from a system, this time is called Completion Time.
TAT = Completion Time - Arrival Time
Waiting Time = Turn Around Time - Burst Time
There are Eight types of CPU scheduling algorithm is given below. Each algorithm is carrying some advantages and disadvantages.
The limitation of each algorithm leads to the evolution of a new algorithm.