Operating System Tutorial

What is Operating System Evolution of Operating System Types of Operating System Functions of Operating System What is Kernel and Types of Kernel Operating System Properties Operating System Services Components of Operating System Needs of the Operating System Linux Operating System Unix Operating System Ubuntu Operating System What is DOS Operating System Difference Between Multi-programming and Multitasking What is Thread and Types of Thread Process Management Process State What is Process Scheduler and Process Queue What is Context Switching What is CPU Scheduling Scheduling Algorithm FCFS (First-come-First-Serve) Scheduling SJF (Shortest Job First) Scheduling Round-Robin CPU Scheduling Priority Based Scheduling HRRN (Highest Response Ratio Next) Scheduling Process Synchronization Lock Variable Mechanism TSL Mechanism Turn Variable Mechanism Interested Variable Mechanism What is Producer-Consumer Problem What is Semaphore in Operating System Monitors in Operating System What is Deadlock Deadlock Avoidance Strategies for Handling Deadlock Deadlock Prevention Deadlock Detection and Recovery Resource Allocation Graph Banker’s Algorithm in Operating System Fixed Partitioning and Dynamic Partitioning Partitioning Algorithms What is Paging and Segmentation What is Demand Paging What is Virtual Memory Disk Scheduling Algorithms FCFS and SSTF Disk Scheduling Algorithm SCAN and C-SCAN Disk Scheduling Algorithm Look and C-Look Disk Scheduling Algorithm File in Operating System File Access Methods in Operating System File Allocation Method Directory Structure in Operating System Difference between C-LOOK and C-SCAN Difference between Rotational Latency and Disk Assess Time Trap vs Interrupt How to implement Monitors using Semaphores N-Step-SCAN Disk Scheduling Why is it critical for the Scheduler to distinguish between I/O-bound and CPU-bound programs Difference between C-SCAN and SSTF Difference between SCAN and FCFS Difference between Seek Time and Disk Access Time Difference between SSTF and LOOK

Scheduling Algorithms in OS

There are various types of scheduling algorithm which are used by the operating system to schedule the process on the processor.

Objective of Scheduling Algorithms

There are the following objectives of Scheduling Algorithms:

  1. Fare allocation of CPU
  2. Increased throughput
  3. Improved CPU Utilization
  4. Minimum Turnaround time
  5. Minimum response time
  6. Minimum waiting time

Types of Scheduling Algorithms

There are various types of Scheduling Algorithms:

  1. First come, first serve (FCFS).
  2. Shortest Job first (SJF).
  3. Shortest remaining time first(SRTF).
  4. Round Robin (RR)
  5. Priority-based Scheduling
  6. Highest Response Ration Next
  1. First Come First Serve (FCFS): - FCFS (First Come First Serve) is either a preemptive or non-preemptive Scheduling algorithm. It is easy to use and understand. In FCFS, jobs are executed on a first-come, first-serve manner. FCFS performance is poor due to the high average waiting time.
  2. Shortest Job First (SJF): - Shortest Job First is a Non-Preemptive algorithm. In the shortest job first algorithm, the job having shortest or less burst time will get the CPU first. It is a good approach to minimize the waiting time. It is simple to implement in the batch operating system because in this CPU time is known in advance, but it is not used in interactive systems because, in an interactive system, CPU time is not known.
  3. Shortest Remaining Time First (SRTF): - Shortest Remaining Time First is a Preemptive Scheduling Algorithm in which the operating system schedules the job, based on the remaining time of the execution. The job having the shortest remaining time is executed first.
  4. Round Robin (RR): - Round Robin is a Preemptive Scheduling Algorithm, which is the most commonly used algorithm in CPU Scheduling.In this, each process is assigned a fix time interval to execute. It is called quantum. In the round-robin, if a process executes in a given time period, then it gets preempted. Round robin is a starvation free CPU scheduling algorithm because all the processes get fair sharing of CPU.
  5. Priority Based Scheduling: - In Priority-Based Scheduling, all the processes are assigned some priority, and according to the priority, the process gets the CPU. Priority is assigned on the basis of time requirements, memory requirements, and resource requirements. In this, if two processes have the same priority, then the scheduling is done according to their time of arrival or first-come, first-served basis.
  6. Highest Response Ratio Next: - In Highest Response Ration Next algorithm, the highest response ratio process is scheduled next. This algorithm reduced the problem of starvation in the system.