/    /  OS – Scheduling Algorithm

CPU Scheduling algorithm 

 

Types of scheduling algorithms are as follows:

  1. First Come First Serve (FCFS)
  2. Shortest-Job-First (SJF) Scheduling
  3. Shortest Remaining Time
  4. Priority Scheduling
  5. Round Robin Scheduling
  6. Multilevel Queue Scheduling

First Come First Serve 

First Come First Serve or FCFS is the easiest and simplest CPU scheduling algorithm. When the process enters the ready queue, its Process Control Block or PCB is linked with the tail of the queue. Therefore, when the CPU becomes free, it is assigned to the process at the beginning of the queue.

In FCFS the process which requests the CPU gets the CPU allocation first. 

Shortest Job first

Shortest Job First or SJF is a type of algorithm in which the process with the shortest execution time is selected for execution first. It can be preemptive or non-preemptive

SJF significantly decreases the execution time for other processes that are waiting.

Shortest Remaining time

Shortest Remaining Time or SRT is an algorithm where the process that is closest to its completion is allocated first. SRT prevents a newer ready process from holding the completion of an older process. 

Priority Scheduling

Priority Scheduling is the method where processes are scheduled based on preference. It helps the OS involve higher priority assignments. Processes with higher priority are executed first, and processes with equal priority are executed based on FCFS or round-robin algorithm. 

Round-robin Scheduling

Round-robin Scheduling follows the principle of the round-robin method. 

It is a hybrid model which is clock-driven and responds to an event within a specific time limit. 

Multilevel Queue Scheduling

Multilevel Queue Scheduling separates the ready queue into various other queues based on specific properties of the processes, like the process priority, size of the memory, etc.

It is not an independent scheduling algorithm and needs other algorithms to schedule the jobs. 

Reference

Scheduling Algorithm of Operating System.