The OS scheduler determines how to move processes between the ready and run queues which can only have one entry per processor core on the system, it has been merged with the CPU. The main task of scheduler is to select the jobs to be submitted into the system and to decide which process to run.
Types of Schedulers: There are three types of Scheduler:
- Short Term Scheduler
- Medium Term Scheduler
- Long Term Scheduler
Short Term Scheduler:-
- It is also called as CPU scheduler.
- Main objective is to increase system performance in accordance with the chosen set of criteria.
- CPU scheduler selects a process among the processes that are ready to execute and allocates CPU to one of them.
- Short-term schedulers, also known as dispatchers, make the decision of which process to execute next.
Medium Term Scheduler:-
- Medium-term scheduling is a part of swapping.
- It removes the processes from the memory.
- It reduces the degree of multi-programming.
- The medium-term scheduler is in-charge of handling the swapped out-processes.
Long Term Scheduler:-
- It is also called a job scheduler.
- A long-term scheduler determines which programs are admitted to the system for processing.
- It selects processes from the queue and loads them into memory for execution.
- Process loads into the memory for CPU scheduling.
- The primary objective of the job scheduler is to provide a balanced mix of jobs, such as I/O bound and processor bound.
- It also controls the degree of multi-programming.
- If the degree of multi-programming is stable, then the average rate of process creation must be equal to the average departure rate of processes leaving the system.
Difference Between Short Term, Medium Term and Long Term Scheduler
|Sr. No.||Short Term Scheduler||Medium Term Scheduler||Long Term Scheduler|
|1.||It is a CPU scheduler.||It is a process swapping scheduler.||It is a job scheduler.|
|2.||Speed is fastest than other two.||Speed is in between both short and long term scheduler.||Speed is lesser than short term scheduler.|
|3.||It is minimal in time sharing system||It is a part of Time sharing systems..||It is almost absent or minimal in time sharing system.|
|4.||It provides lesser control over degree of multi-programming.||It reduces the degree of multi-programming.||It controls the degree of multi-programming.|
|5.||It selects those processes which are ready to execute.||It can re-introduce the process into memory and execution can be continued.||It selects processes from pool and loads them into memory for execution.|