CPU Scheduling Algorithms

Algorithms used by the OS to allocate CPU time.

  • JSON4,684 B
  • YAML3,357 B · −28%
  • TOON2,787 B · −40%

The classic CPU scheduling algorithms, each marked preemptive or non-preemptive with a one-line description, from first-come first-served to multilevel feedback queues, plus real-time schedulers such as earliest-deadline-first and the Linux Completely Fair Scheduler.

Use it when

  • You need to compare scheduling policies by fairness, responsiveness and starvation risk.
  • You are explaining how an OS divides CPU time among processes.

Watch out for

  • Textbook algorithms assume known burst times; real systems estimate them or ignore them.
  • Real schedulers combine ideas, for example priority queues with time slices and aging to avoid starvation.

The data

NameTypeDescription
First-Come First-ServedNon-preemptiveProcesses run in arrival order; simple but can cause convoy effect.
Shortest Job FirstNon-preemptiveRuns the process with the shortest estimated burst time.
Shortest Remaining Time FirstPreemptivePreemptive version of SJF.
Round RobinPreemptiveEach process gets a fixed time quantum in cyclic order.
Priority SchedulingVariableHighest priority process runs first.
Multilevel QueueNon-preemptive queuesProcesses assigned to fixed priority queues.
Multilevel Feedback QueueAdaptiveProcesses move between queues based on behavior and aging.
Highest Response Ratio NextNon-preemptivePicks the ready process with the highest (waiting time + service time) / service time, which prevents starvation of long jobs.
Earliest Deadline FirstPreemptiveReal-time policy that always runs the task with the nearest deadline; optimal on a single processor when utilization is at most 100%.
Rate-Monotonic SchedulingPreemptiveFixed-priority real-time policy that gives shorter-period tasks higher priority.
Completely Fair SchedulerPreemptiveLinux's general-purpose scheduler for many years, tracking each task's virtual runtime in a red-black tree to share CPU time fairly.
Lottery SchedulingPreemptiveRandomly selects the next process in proportion to the tickets it holds, giving probabilistic proportional share.
Fair-Share SchedulingPreemptiveDivides CPU time among users or groups rather than individual processes.

Fields

The shape of this dataset, read from the data itself: every column, its type and a real value. Agents can use this to plan a query without fetching the whole document.

SectionFieldTypeExample
datanamestringFirst-Come First-Served
datatypestringNon-preemptive
datadescriptionstringProcesses run in arrival order; simple but can …

Fetch the same bytes

The static files contain the same reference rows as the API, with no API rate limit. Live metadata, such as view counts, may differ. Use the API for content negotiation; use the static files for a cacheable snapshot.

curl "https://yjtoon.com/api/dataset/cpu-scheduling-algorithms?format=toon"
const res = await fetch(
  "https://yjtoon.com/static-data/dataset/cpu-scheduling-algorithms.toon"
);
const toon = await res.text();

Rate limit: 120 requests per minute per IP, no key and no signup. API reference →

Topics

  • os
  • scheduling
  • cpu

Search the library

Search by a topic, title, or keyword.

Start with a collection

Browse all 205 datasets