written 3.0 years ago by |
There are 3 types of Process Schedulers in Operating Systems- Long-Term, Short-Term and Medium-Term Scheduler. These schedulers are responsible for process scheduling which helps to allow more than one process to be loaded into the executable memory at a time and the loaded process shares the CPU using time multiplexing.
Long-Term Scheduler: This scheduler controls the degree of multi-programming by bringing new processes into the "Ready State". It prevents the CPU from remaining idle and makes a careful selection of IO-intensive and CPU-intensive processes which in turn improves the efficiency. This scheduler is also known as Job Scheduler.
Short-Term Scheduler: This scheduler selects a process from the Ready state for scheduling it on the Running State by using various scheduling algorithms. This scheduler then instructs the Dispatcher to load these processes into the CPU/Running State. The Dispatcher is also responsible for context-switching, toggling user-mode and jumping to the proper location in the newly loaded program.
Medium-Term Scheduler: This scheduler is responsible for swapping (moving processes from main memory to disk and vice versa) or resuming processes depending upon the size of the available memory. This results in decrease in the degree of multi-programming. This scheduler helps in maintaining the balance between CPU-Bound and IO-Bound processes.