Skip to content

Earliest deadline first

Category: Real-time systems · Status: stub

One line: Dynamic priorities: whichever ready task has the nearest deadline runs next.

Also called: EDF, deadline scheduling.

How it connects

flowchart LR
  n_earliest_deadline_first["Earliest deadline first"]
  n_preemptive_scheduling["Preemptive scheduling"]
  n_rate_monotonic_scheduling["Rate-monotonic scheduling"]
  n_wcet["Worst-case execution time"]
  n_earliest_deadline_first ---|vs| n_rate_monotonic_scheduling
  n_earliest_deadline_first -->|is a| n_preemptive_scheduling
  n_earliest_deadline_first -->|uses| n_wcet
  classDef center stroke-width:3px
  class n_earliest_deadline_first center
  classDef outside stroke-dasharray: 4 3
  class n_preemptive_scheduling,n_rate_monotonic_scheduling,n_wcet outside

In each language

The operating system Linux's SCHED_DEADLINE, global EDF combined with a constant bandwidth server
Elsewhere Ada's Earliest Deadline First dispatching ↗ policy and its Dispatching.EDF package

Where to read more