Scheduling Algorithms

Last updated

What is Scheduling Algorithms?

CPU Scheduling is the process of selecting a process from the ready queue and allocating the CPU to it. The selection of a process is based on a particular scheduling algorithm. The scheduling algorithm is chosen depending on the type of system and the requirements of the processes.

Here is the list of some of the most commonly used scheduling algorithms:

  • First Come First Serve (FCFS): The process that arrives first is allocated the CPU first. It is a non-preemptive algorithm.
  • Shortest Job First (SJF): The process with the smallest execution time is allocated the CPU first. It is a non-preemptive algorithm.
  • Shortest Remaining Time First (SRTF): The process with the smallest remaining execution time is allocated the CPU first. It is a preemptive algorithm.
  • Round Robin (RR): The process is allocated the CPU for a fixed time slice. The time slice is usually 10 milliseconds. It is a preemptive algorithm.
  • Priority Scheduling: The process with the highest priority is allocated the CPU first. It is a preemptive algorithm.
  • Multi-level Queue Scheduling: The processes are divided into different queues based on their priority. The process with the highest priority is allocated the CPU first. It is a preemptive algorithm.
  • Multi-level Feedback Queue Scheduling: The processes are divided into different queues based on their priority. The process with the highest priority is allocated the CPU first. If a process is preempted, it is moved to the next queue. It is a preemptive algorithm.
  • Highest Response Ratio Next(HRRN): CPU is allotted to the next process which has the highest response ratio and not to the process having less burst time. It is a Non-Preemptive algorithm.
  • Lottery Scheduling: The process is allocated the CPU based on a lottery system. It is a preemptive algorithm.

Free resources to learn Scheduling Algorithms

More in stage 22: Processes and Threads

Scheduling Algorithms: common questions

Can I learn Scheduling Algorithms in Hindi?

This lesson is written in English. Once you sign in, open it in the interactive course and ask the AI tutor to explain Scheduling Algorithms in Hindi or Hinglish. The tutor answers from this lesson’s own text, so it stays on the syllabus, and it runs on your own Google, OpenAI or Anthropic key.

Is this Scheduling Algorithms tutorial for beginners?

It is lesson 186 of 188 in the free Computer Science roadmap, in stage 22, Processes and Threads. If you are new to Computer Science, start from stage 1 and come back here in order; if you already know the earlier stages, this lesson stands on its own.

Still confused? Ask me