Different CPU scheduling algorithms have different properties and choice of a particular algorithm depends on the various factors. Many criteria have been suggested for comparing CPU scheduling algorithms.
The criteria include the following:
- CPU utilisation –
The main objective of any CPU scheduling algorithm is to keep the CPU as busy as possible. Theoretically CPU utilisation can range from 0 to 100 but in a real time system it varies from 40 to 90 percent depending on the load upon the system.
- Throughout –
A measure of the work done by CPU is the number of processes being executed and completed per unit time. This is called throughput. The throughput may vary depending upon the length or duration of processes.
- Turnaround time –
For a particular process, an important criteria is how long it takes to execute that process. The time elapsed from the time of submission of a process to the time of completion is known as turnaround time. Turn-around time is the sum of times spent waiting to get into memory, waiting in ready queue, executing in CPU and waiting for I/O.
- Waiting time –
A scheduling algorithm does not affect the time required to complete the process once it starts execution. It only affects the waiting time of a process i.e. time spent by a process waiting in the ready queue.
- Response time –
In an interactive system turn-around time is not the best criteria. A process may produce some output fairly early and continue computing new results while previous results are being output to user. Thus another criteria is the time taken from submission of process of request until the first response is produced. This measure is called response time.
There are various CPU Scheduling algorithms such as-
- First Come First Served (FCFS)
- Shortest Job First (SJF)
- Longest Job First (LJF)
- Priority Scheduling
- Round Robin (RR)
- Shortest Remaining Time First (SRTF)
- Longest Remaining Time First (LRTF)
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Difference between Multi Level Queue Scheduling (MLQ) and Priority Scheduling
- Multilevel Feedback Queue Scheduling (MLFQ) CPU Scheduling
- Difference between Priority Scheduling and Round Robin (RR) CPU scheduling
- Difference between Priority scheduling and Shortest Job First (SJF) CPU scheduling
- Thread Scheduling
- Fair-share CPU scheduling
- First Come, First Serve – CPU Scheduling | (Non-preemptive)
- Foreground-Background Scheduling
- Difference between SJF and LJF CPU scheduling algorithms
- Rate-monotonic scheduling
- LOOK Disk Scheduling Algorithm
- C-LOOK Disk Scheduling Algorithm
- Deadline Monotonic CPU Scheduling
- Program for Priority CPU Scheduling | Set 1
- Disk Scheduling Algorithms
- CPU Scheduling in Operating Systems
- Difference between EDF and LST CPU scheduling algorithms
- Program for FCFS CPU Scheduling | Set 1
- Multilevel Queue (MLQ) CPU Scheduling
- Longest Job First (LJF) CPU scheduling algorithm
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.