„Earliest Deadline First“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
[ungesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Auslastungskriterum klargestellt
Funktionsweise: Link auf BKL aufgelöst
 
(26 dazwischenliegende Versionen von 22 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
'''Earliest Deadline First (EDF)''' ist eines der gebräuchlichsten ''[[Scheduling]]''-Verfahren. Es gehört zu den zeitbasierten ''Scheduling''-Verfahren, denn es trifft seine Entscheidungen so, dass Fertigstellungstermine (Deadlines) eingehalten werden. Die präemptive Variante von ''Earliest Deadline First'' wird bevorzugt für [[Echtzeitsystem]]e verwendet, da sie die Einhaltung aller Fristen garantiert.
'''Earliest Deadline First (EDF)''' ist ein [[Prozess-Scheduler|Scheduling]]-Verfahren von Betriebssystemen, mit dessen Hilfe es den [[Prozess (Informatik)|Prozessen]] (engl. {{lang|en|Tasks}}) [[Prozessor]]-Zeit zuteilt. Es gehört zu den zeitbasierten Verfahren, denn es trifft seine Entscheidungen so, dass Fertigstellungstermine (Deadlines) eingehalten werden. Die [[Präemptives Multitasking#Präemptives Multitasking|präemptive]] Variante von Earliest Deadline First wird vor allem für [[Echtzeitsystem]]e 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 [[Prozess (Informatik)|Task]] beendet wird.
'''Funktionsweise''':


EDF ist dabei sehr flexibel, denn es kann sowohl für präemptives, wie auch für [[Präemptives Multitasking#Kooperatives Multitasking|kooperatives Multitasking]] verwendet werden. Außerdem kann es in aperiodischen sowie periodischen Plänen eingesetzt werden.
# Alle zu dem betrachteten Zeitpunkt ''t'' bereitstehenden Tasks werden nach ihrer aufsteigenden [[Deadline]] geordnet bzw. stehen geordnet zur Verfügung.
# Es wird immer genau der Task dem Prozessor zugeteilt, dessen Deadline als nächstes kommt, d.h. dessen Frist unter den bereitstehenden Tasks am ehesten abläuft.


== 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 (Informatik)|Deadlock]] verursacht werden könnte.


== Siehe auch ==
Es werden immer die Zeitpunkte für das Scheduling betrachtet, an denen entweder ein neuer Task bereit wird, ein gerade noch aktiver [[Task]] beendet wird oder (bei periodischen Tasks) eine neue Periode eines Tasks anfängt.
* [[Deadline Monotonic Scheduling]] (DMS)
* [[Rate Monotonic Scheduling]] (RMS)


== Quellen ==

* [http://lrs2.fmi.uni-passau.de/skripten/SS05/EZ_Vorl_2.3.2_EDF.pdf Planung nach Fristen (earliest deadline first, EDF)], [[Universität Passau]], [[PDF]] (504 kB)
EDF ist dabei sehr flexibel: Es kann sowohl für präemptives (d.h. unterbrechbares) Scheduling wie auch für nicht-präemptives verwendet werden. Außerdem kann es in aperiodischen sowie periodischen Plänen eingesetzt werden, egal ob statisch oder dynamisch geplant wird.


'''Optimalität''':

EDF ist optimal für die Scheduling-Klasse 1|preempt, async|L_max, es ist '''nicht''' optimal i.A. bei 1|non-preempt, sync|L_max

# "1" steht für einen Prozessor
# "(non-)preempt" für (nicht-)unterbrechbare Tasks
# "(a)sync" für (a)synchrone Taskaktivierung, d.h. alle Tasks werden gleichzeitig bereit (sync) oder unterschiedlich (async)
# "L_max" ist die zu minimierende [[Kostenfunktion]]; steht für "max. Lateness", also der maximalen Zeit (l), die zwischen vollständiger Ausführung (c) und Deadline (d) verbleibt: l = c - d (L_max ist NEGATIV bei erfolgreicher Planung)


'''Auslastung''':
EDF kann den Prozessor bis zur [[Prozessorauslastung|Auslastung]] 1 (100%) einplanen.Dies gilt allerdings nur für Tasksysteme in denen die [[Deadline]] jeder [[Task]] jeweils größer oder gleich der Periode der jeweiligen [[Task]] ist.


[[Kategorie:Betriebssystemtheorie]]
[[Kategorie:Betriebssystemtheorie]]

[[en:Earliest deadline first scheduling]]
[[fr:Earliest deadline first scheduling]]
[[ja:Earliest Deadline First]]
[[nl:Earliest deadline first scheduling]]

Aktuelle Version vom 30. Mai 2019, 19:57 Uhr

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.

  • 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

[Bearbeiten | Quelltext bearbeiten]

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.