Standardprozesse unter Linux werden nun schon seit Kernel 2.6.23 durch den Complete Fair Scheduler verarbeitet, der seinerzeit den O(1) scheduler mit seinen dynamschen Prioritäten beerbte.
In diesem Zusammenhang wurde aber nicht nur der O(1) scheduler durch einen anderen ersetzt. Es wurde vielmehr ein ganzes scheduler Framework erschaffen, bei dem von oben nach unten die scheduler Klassen mit Ihren jeweiligen schedulern abgearbeitet werden. Der simple Ansatz lautet, dass immer versucht wird denjeniegen Prozess zu finden, welcher in der höchstmöglichen Klasse lauffähig (runnable) ist.
Derzeit sieht die scheduler Klassenhierarchie folgendermaßen aus:
- stop_sched_class
- rt_sched_class
- fair_sched_class
- idle_sched_class
Die Hintergründe sind im aktualisierten Linux Realtime Dokument zusammengefasst.