Process Scheduling in Operating System | Scheduling Algorithms


Process Scheduling



Scheduling


Scheduling is a fundamental operating system function. It refers to set policies and mechanism which allow the operating system to govern the order in which the process will be executed by the computer system. All the computer resources are scheduled before use.

CPU scheduling is Central to operating system design because it is a primary computer resource. 

"The main aim of scheduling is to manage system performance according to the criteria seems most important by the system designers."

Job Queues
Structure of Job Queues for Scheduling.


Scheduler 


The Operating System module which selects the job or manages the job queues that which job will next execute or admitted to the system is known as "Scheduler".

There are various types of scheduler modules available in the operating system which perform their actions at the required time.

Types of Schedulers used in OS :

  • Long-Term Scheduler: Job Scheduling is maintained by this Scheduler. 
  • Medium-Term Scheduler: Swapping of the job is done by this Scheduler. 
  • Short-Term Scheduler: CPU Scheduling is maintained by this Scheduler.

Types Of Scheduling Levels : 

  • Long-Term Scheduling
  • Medium-Term Scheduling
  • Short-Term Scheduling

Scheduling and Performance Criteria : 

  • CPU Utilization
  • Throughput
  • Turnaround Time
  • Waiting Time
  • Response Time


Concepts of Scheduling :

  • CPU I/O Burst Cycle
  • CPU Scheduler
  • Preemptive and Non-Preemptive Scheduling
  • Dispatcher


Scheduling Algorithms


A Process Scheduler schedules a different process that is to be assigned to the Processor based on a suitable Scheduling Algorithm.

Different Scheduling Algorithms are :

  • First Come, First Served (FCFS)Scheduling
  • Shortest Remaining Time Next (SRTN)
  • Round Robin (RR)Scheduling
  • Priority Based Scheduling
  • Shortest Job Next (SJN)
  • Multiple Level Queues (MLQ) Scheduling

Shekhar Kumar

Code with Shekhar is a programming blog started by Shekhar Kumar. Here you will find Java programs, Python programs and JavaScript programs. Some Data Structures and Algorithms programs also explained with examples.

Please do not Enter any Spam link in the Comment Box.

Post a Comment (0)
Previous Post Next Post