CPU Scheduling Algorithms
Algorithms used by the OS to allocate CPU time.
Algorithms used by the OS to allocate CPU time.
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.
| Name | Type | Description |
|---|---|---|
| First-Come First-Served | Non-preemptive | Processes run in arrival order; simple but can cause convoy effect. |
| Shortest Job First | Non-preemptive | Runs the process with the shortest estimated burst time. |
| Shortest Remaining Time First | Preemptive | Preemptive version of SJF. |
| Round Robin | Preemptive | Each process gets a fixed time quantum in cyclic order. |
| Priority Scheduling | Variable | Highest priority process runs first. |
| Multilevel Queue | Non-preemptive queues | Processes assigned to fixed priority queues. |
| Multilevel Feedback Queue | Adaptive | Processes move between queues based on behavior and aging. |
| Highest Response Ratio Next | Non-preemptive | Picks the ready process with the highest (waiting time + service time) / service time, which prevents starvation of long jobs. |
| Earliest Deadline First | Preemptive | Real-time policy that always runs the task with the nearest deadline; optimal on a single processor when utilization is at most 100%. |
| Rate-Monotonic Scheduling | Preemptive | Fixed-priority real-time policy that gives shorter-period tasks higher priority. |
| Completely Fair Scheduler | Preemptive | Linux's general-purpose scheduler for many years, tracking each task's virtual runtime in a red-black tree to share CPU time fairly. |
| Lottery Scheduling | Preemptive | Randomly selects the next process in proportion to the tickets it holds, giving probabilistic proportional share. |
| Fair-Share Scheduling | Preemptive | Divides CPU time among users or groups rather than individual processes. |
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.
| Section | Field | Type | Example |
|---|---|---|---|
| data | name | string | First-Come First-Served |
| data | type | string | Non-preemptive |
| data | description | string | Processes run in arrival order; simple but can … |
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 →