Login
Newsletter
Werbung

Mi, 22. Januar 2014, 13:15

Software::Kernel

SCHED_DEADLINE in den Kernel aufgenommen

Etliche Jahre nach der initialen Ankündigung von SCHED_DEADLINE ist die Entwicklung bereit für den produktiven Einsatz. Ein Pull-Request des Kernel-Entwicklers Ingo Molnar und ein Commit von Linus Torvalds lassen auf eine Aufnahme in den Kernel 3.14 hoffen.

Larry Ewing

Ein Prozess-Scheduler ist wohl eine der wichtigsten Komponenten eines Kernels, auch wenn er von den meisten Anwendern nicht oder nur am Rande wahrgenommen wird. Er stellt die komplette Arbitrationslogik eines Betriebssystems dar und regelt die zeitliche Ausführung der Anwendungen und Prozesse. Je nach Einsatz eignet sich daher nicht jeder Scheduler für jeden Zweck. Dementsprechend verfügt der Linux-Kernel gleich über mehrere Scheduler-Klassen. Der wohl am häufigsten benutzte Scheduler ist unter Linux der Completely Fair Scheduler (CFS), der in der Kernelversion 2.6.23 eingeführt wurde und eine faire Aufteilung der Prozessorzeit für alle Prozesse vorsieht.

Im Idealfall läuft deshalb beim CFS jeder Prozess quasiparallel in gleicher Geschwindigkeit. Doch vor allem bei Echtzeitsystemen ist dieses Verhalten nicht gewünscht, da es keine feste Ausführungszeit garantiert. Dementsprechend existieren im Kernel mit den SCHED_FIFO (Realtime First-in-first-out) und SCHED_RR (Realtime Round-Robin) zwei Klassen, die ein genehmeres Verhalten unterstützen. Mit der Einführung der SCHED_DEADLINE-Klasse wird der Kernel nun auch den EDF-Algorithmus (Earliest Deadline First) implementieren.

Die Geschichte des Deadline-Schedulers reicht bis ins Jahr 2009 zurück. Ursprünglich von Evidence im Zuge des ACTORS FP7-Projektes gestartet und von der Europäischen Kommission finanziell unterstützt, wurde SCHED_DEADLINE im Jahre 2009 unter dem Namen SCHED_EDF an die Kernelliste übermittelt. Etliche Häutungen und eine Umbenennung weiter wurde der Scheduler Ende des vergangenen Jahres von Juri Lelli in der mittlerweile neunten Version an die LKML gesendet.

Nun hat Ingo Molnar den Scheduler Anfang der Woche offiziell für die kommende Kernelversion vorgeschlagen. Mit dem Commit a0fa1dd3cdbccec9597fe53b6177a9aa6e20f2f8 hat auch Linus Torvalds SCHED_DEADLINE in seinen Zweig aufgenommen. Sollten also keine größeren Probleme aufkommen, wird der Scheduler in der kommenden Kernel-Version 3.14 vorhanden sein.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung