Deadline Monotonic Scheduling (DMS) bezeichnet in der Informatik ein Schedulingverfahren für harte Echtzeitsysteme, das zur Verwaltung von Prozessen fester Prioritäten dient. Unter den Schedulingverfahren mit festen Prioritäten ist es für beliebige Deadlines optimal.
Annahmen
Grundsätzliche Einschränkungen
Die theoretische Betrachtung von Echtzeit-Schedulingverfahren erfordert einige grundsätzliche Einschränkungen, um die Komplexität der Analyse handhaben zu können.
- Prozesse können zu jedem Zeitpunkt unterbrochen werden
- der Overhead für Prozesswechsel wird mit 0 Zeiteinheiten angenommen
- notwendige Ressourcen (ausgenommen CPU-Zeit) sind unbegrenzt vorhanden
- alle Prozesse sind unabhängig (intuitiv: Die Prozesse können in beliebiger Reihenfolge ausgeführt werden)
- die Last aller Prozesse zusammen muss ≤1 sein
Annahmen für periodische Prozesse
- alle Prozesse haben Deadlines kleiner oder gleich ihrer Perioden
Annahmen für sporadische Prozesse
- alle Prozesse haben Deadlines kleiner oder gleich ihrer Minimal Inter-Arrival-Zeiten (Minimum zwischen zwei Ankunftszeiten desselben Prozesses)
Verfahren
Analog zu Rate Monotonic Scheduling (RMS) wird bei DMS stets der Prozess der höchsten Priorität ausgeführt. Die Prioritäten werden dabei reziprok zur relativen Deadline vergeben. Das bedeutet, dass die kürzeste Deadline die höchste Priorität hat. Das Verfahren ist präemptiv – beim Eintreffen eines neuen Prozesses mit höherer Priorität wird der aktuelle Prozess zugunsten des neuen unterbrochen. Um aperiodische Jobs handhaben zu können, wird für diese ein fiktiver periodischer Prozess mit der Minimal Inter-Arrival-Zeit als Periode angenommen.
Mächtigkeit
DMS ist unter den Schedulingverfahren mit festen Prioritäten das mächtigste Verfahren. Es handelt sich um eine Verallgemeinerung von Rate Monotonic Scheduling, wobei mit RMS nur ein Scheduling einer Teilmenge von mit DMS ausführbaren Prozessmengen möglich ist. Im Spezialfall, dass für alle Prozesse relative Deadline und Periodenlängen gleich sind, gilt DMS = RMS.