Definition

  • A Scheduler/Process Schedular is an operating system program (or module) that performs process scheduling i.e. selects/sets the next job to be submitted in the ready queue for execution.

Features

  • The main function/objective of a schedular is to process scheduling for processing the job.

Types

There are three types of schedular –

  1. Long Term Schedular
  2. Medium Term Schedular
  3. Short Term Schedular

(A.) Long Term Schedular :

  • This scheduler selects processes from the process pool(hard disk) and loads selected processes into memory for execution.
  • This scheduler executes much less frequently when compared with the short term scheduler.
  • The long-term scheduler must select a good process which is mix of I/O-bound and processor bound processes. If most of the processes selected are I/O-bound, then the ready queue will almost be empty, while the device queue(s) will be very crowded. If most of the processes are processor-bound, then the device queue(s) will almost be empty while the ready queue is very crowded and that will cause the short-term scheduler to be invoked very frequently.
  • Time-sharing systems (mostly) have no long-term scheduler.
  • Long term scheduling is performed when a new process is created.
  • Long-term scheduler determines which programs are admitted into the system for processing. Once when admit a job, it becomes process and is added to the queue for the short-term scheduler.
  • The long-term scheduler limits the number of processes to allow for processing by taking the decision to add one or more new jobs, based on FCFS (First-Come, first-serve) basis or priority or execution time or Input/Output requirements.
  • Long-term scheduler executes relatively infrequently.

(B.) Medium Term Schedular :

  • This schedular performs the swapping-in function by re-schedulining the swapped-out suspended processes again in ready queue.
  • This schedular works when part of the main memory gets freed, then the operating system looks at the list of suspend ready processes and decides which one is to be swapped in for processing further(depending on its priority, memory and other resources required, etc).
  • This scheduler works in close conjunction with the long-term scheduler.

(C.) Short Term Schedular :

  • It is also called as dispatcher.
  • This scheduler, schedules the process for execution inside the processor among the processes which are already present in ready queue (in memory).
  • The scheduler typically executes quite frequently i.e. mostly at least once in every 10 milliseconds. It means that it takes 1 millisecond to choose a process that means ( 1 / ( 10 + 1 )) = 9% of the processor time is being used for short time scheduling and rest 91% may be used by processes for execution.
  • It is very fast in order to achieve a better processor utilisation.
  • This scheduler is invoked whenever an event occurs.
  • It must select a new process for the CPU frequently.

0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.