Skip to content

Scheduling policy

Category: Scheduling · Status: stub

One line: The rule a scheduler follows to pick what runs next: whether a running task can be interrupted, how priorities are set, and where idle cores find work.

Also called: scheduling algorithm.

How it connects

flowchart LR
  n_cooperative_scheduling["Cooperative scheduling"]
  n_preemptive_scheduling["Preemptive scheduling"]
  n_scheduler["Scheduler"]
  n_scheduling_policy["Scheduling policy"]
  n_work_stealing["Work stealing"]
  n_cooperative_scheduling -->|is a| n_scheduling_policy
  n_preemptive_scheduling -->|is a| n_scheduling_policy
  n_scheduler -->|uses| n_scheduling_policy
  n_work_stealing -->|is a| n_scheduling_policy
  classDef center stroke-width:3px
  class n_scheduling_policy center
  classDef outside stroke-dasharray: 4 3
  class n_cooperative_scheduling,n_preemptive_scheduling,n_scheduler,n_work_stealing outside

In each language

The operating system Linux's scheduling policies ↗: SCHED_OTHER for ordinary threads, and the real-time SCHED_FIFO and SCHED_RR

Where to read more