Abbildung: Echtzeit-Scheduler,
Wenn man den Scheduletakt im Bereich des Taktes der Steuerung oder kleiner wählt, bekommt man einen Echtzeit-Scheduler. Man wählt dann z.B. einen Scheduletakt von 1500 Hz oder 2000 Hz. Nach Möglichkeit sollte vermieden werden, daß der Hardwaretakt ein Vielfaches des Scheduletaktes ist, da sonst Interferenzerscheinungen die Steuerung erheblich stören können, z.B. wenn sich die Interrupts der Hardware dauernd mit dem Scheduler überschneiden.
Wenn beim Echtzeit-Scheduler ein anderer Prozeß zum Laufen kommt, ist die Zeitspanne bis zum nächsten Prozeßwechsel wesentlich kürzer, da viel kleiner ist, z.B. 10ms beim normalen Scheduler und 0,5ms beim Echtzeitscheduler. Dies bewirkt, daß die Zeit ohne Steuerimpulse im Mittel geringer ist.
In Abbildung wird der Vorteil des Schlafens deutlich. Obwohl die maximale Zeit ohne Steuerimpulse in der zweiten Zeitreihe erheblich kürzer ist, bekommen die anderen Prozesse dort sogar mehr Rechenzeit (9 Zeiteinheiten im Vergleich zu 8 Einheiten in der ersten Zeitreihe). Wenn der Steuerprozeß schläft verteilt sich in diesem Fall die Rechenzeit der anderen Prozesse besser, da im Falle des Nichtschlafens zur Rechenzeit des Steuerprozesses auch die Zeit gezählt wird, in der er eigentlich nichts rechnet, sondern nur Rechenzeit beim Warten auf neue Daten verbraucht.
Insgesamt erreicht man schon eine wesentliche Verbesserung der Steuerung. Die maximale Totzeit ist, wie oben beschrieben, immer noch . Da der Scheduletakt wesentlich kleiner ist, wird die maximale Zeit ohne Steuerimpulse, die für die Pendelsteuerung äußerst relevant ist, reduziert. Falls aber mehrere Prozesse zur Laufzeit anstehen, besteht trotzdem noch ein Problem von zu langen Totzeiten ohne Steuerimpulsen, denn der Wert von x kann bei mehreren lauffähigen Prozessen immer noch zu hoch sein.