CPU Scheduling is a process of determining which process will own CPU for execution while another process is on hold. The main task of CPU scheduling is to make sure that whenever the CPU remains idle, the OS at least select one of the processes available in the ready queue for execution. The selection process will be carried out by the CPU scheduler. It selects one of the processes in memory that are ready for execution.
Important Terminologies
Burst Time/Execution Time: It is a time required by the process to complete execution. It is also called running time.
Arrival Time:when a process enters in a ready state
Finish Time:when process complete and exit from a system
Multiprogramming:A number of programs which can be present in memory at the same time.
Jobs: It is a type of program without any kind of user interaction.
User:It is a kind of program having user interaction.
Process:It is the reference that is used for both job and user.
CPU/IO burst cycleCharacterizes process execution, which alternates between CPU and I/O activity. CPU times are usually shorter than the time of I/O.