Earliest Deadline First
# Earliest Deadline First

Earliest Deadline First (EDF) ist ein Scheduling-Verfahren von Betriebssystemen, mit dessen Hilfe es den Prozessen (engl. Tasks) Prozessor-Zeit zuteilt. Es gehört zu den zeitbasierten Verfahren, denn es trifft seine Entscheidungen so, dass Fertigstellungstermine (Deadlines) eingehalten werden. Die präemptive Variante von Earliest Deadline First wird vor allem für Echtzeitsysteme verwendet.

## Funktionsweise

* Alle, zu dem betrachteten Zeitpunkt, bereitstehenden Tasks werden nach aufsteigenden Fertigstellungsterminen (engl. Deadlines) geordnet
* Der Task, der als erstes fertig sein muss, erhält den Prozessor

Es werden immer die Zeitpunkte für das Scheduling betrachtet, an denen entweder ein neuer Task gestartet wird oder ein gerade noch aktiver Task beendet wird.

EDF ist dabei sehr flexibel, denn es kann sowohl für präemptives, wie auch für kooperatives Multitasking verwendet werden. Außerdem kann es in aperiodischen sowie periodischen Plänen eingesetzt werden.

## Prozessorauslastung

EDF kann den Prozessor bis zur maximalen Prozessorauslastung einplanen. Dies gilt allerdings nur für Tasksysteme, in denen die Zeitspanne bis zur Deadline eines Tasks jeweils größer oder gleich der Periode der jeweiligen Task selbst ist. Des Weiteren dürfen zwischen den Tasks keine Abhängigkeiten bestehen und keine gemeinsame Ressource verwendet werden, da dadurch ein Deadlock verursacht werden könnte.

