Process scheduling deals with the selection of a process for the processor; and removal of a process from the processor on the basis of a scheduling algorithm; there are many scheduling queues that are used in process scheduling. When the processes enter the system, they are put into the job queue. The processes that are ready to execute in the main memory are kept in the ready queue. The processes that are waiting for the I/O device are kept in the I/O device queue. The three different schedulers that are used for process scheduling include:
- Short term scheduler
- Long term scheduler
- Medium term scheduler
Short Term Scheduler
Short-term scheduler also referred to as the CPU Scheduler, decides which of the ready, in-memory processes is to be allocated a CPU (executed) after a clock interrupt, an I/O interrupt, an operating system call or another form of signal. Thus, the short-term scheduler makes scheduling decisions much more frequently than the long-term or medium term schedulers.
What You Need To Know About Short Term Schedulers
- It is a CPU scheduler.
- Short term scheduler also referred to as CPU scheduler, ensures which program is suitable or important for processing.
- It provides lesser control over degree of multiprogramming.
- It is minimal in time sharing systems.
- It selects those processes which are ready to execute.
- Speed is fastest, when compared to that of short term and medium term schedulers.
- The main objective of short term scheduling is increasing system performance in accordance with the chosen set criteria.
Medium Term Scheduler
Medium term scheduler temporarily remove processes from the main memory and place them in secondary memory such as hard disk drive, it also removes processes from the secondary memory to the main memory. This is commonly described as ‘’swapping in’’ or ‘’swapping out’’.
The medium-term scheduler can swap out a process which has a low priority or a process which has not been active for some time or a process which is taking a large amount of memory in order to clean up the memory for other processes.
What You Need To Know About Medium Term Schedulers
- It is a process swapping scheduler.
- Medium term scheduler is part of swapping. It removes the processes from the memory.
- It reduces the degree of multiprogramming.
- It is part of time sharing systems.
- It can re-introduce the process into memory and execution can be continued.
- Speed is in between both short and long term scheduler.
- A running process may become suspended if it takes an I/O request.
- A suspended process cannot make any progress towards completion.
- The main objective of medium term scheduler is to remove the process from the memory and create space for other processes; the suspended process is then moved to secondary storage.
Long Term Scheduler
Long term scheduler also referred to as Job scheduler or admission scheduler, regulates the programs which are selected to system for processing. Long term scheduler decides which jobs or processes are to be admitted to the ready queue (in main memory); that is, when an attempt is made to execute a program, its admission to the set of currently executing processes is either authorized or delayed by the long-term scheduler. The long term scheduler is also responsible for controlling the degree of multi-processing.
What You Need To Know About Long Term Schedulers
- It is a job scheduler
- Long term scheduler also referred to as Job Scheduler. Regulates the programs which are selected to the system for processing.
- Process loads into the memory for CPU scheduling. The primary objective of job scheduler is to provide a balanced mix of jobs, such as I/O bound and processor bound.
- It provides a greater control over the degree of multiprogramming.
- It is almost absent in time sharing system.
- It selects processes from pool and loads them into memory for execution.
- In long term scheduler, programs are setup in the queue and as per the requirement; the best one job is selected.
- Speed is usually lesser when compared to that of a short term scheduler.
- When the process changes the state from new to ready, then there is the use of long term scheduler.
Also Read: Difference Between Preemptive And Non-preemptive Scheduling
Difference Between Short Term, Medium Term And Long Term Schedulers In Tabular Form
BASIS OF COMPARISON | SHORT TERM | MEDIUM TERM | LONG TERM |
Description | Short term scheduler ensures which program is suitable or important for processing. | Medium term scheduler removes the processes from the memory. | Long term scheduler regulates the programs which are selected to the system for processing. |
Alternative Name | It is also referred to as CPU Scheduler. | It is also referred to as Process Swapping Scheduler. | It is also referred to as Job Scheduler. |
Main Objective | The main objective of short term scheduling is increasing system performance in accordance with the chosen set criteria. | The main objective of medium term scheduler is to remove the process from the memory and create space for other processes; the suspended process is then moved to secondary storage. | Process loads into the memory for CPU scheduling. The primary objective of job scheduler is to provide a balanced mix of jobs, such as I/O bound and processor bound. |
Speed | Speed is fastest, when compared to that of short term and medium term schedulers. | Speed is in between both short and long term scheduler. | Speed is usually lesser when compared to that of a short term scheduler. |
Presence In Time Sharing System | It is minimal in time sharing systems. | It is part of time sharing systems. | It is almost absent or minimal in time sharing system. |
Selection Of Processes | 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. |
Degree of Multi-Programming | It provides lesser control over degree of multiprogramming. | It reduces the degree of multiprogramming. | It provides a greater control over the degree of multiprogramming. |
Also Read: Difference Between Cache Memory And Virtual Memory In Computer Architecture