Abbildung: Normaler Scheduler,
In Abbildung wird das Verhalten bei einem
normalen Scheduler mit einem Takt von meistens 100 Hz dargestellt,
d.h.
. Der Takt der Steuerung
ist
hier also wesentlich kleiner, etwa um den Faktor 10, als der Scheduletakt.
Man sieht deutlich, daß der Steuerprozeß alle Steuerimpulse
bedienen kann, also nur Taktimpulse mit Steuerbefehl auftreten,
solange kein anderer Prozeß lauffähig ist.
Wenn aber ein anderer Prozeß an die Reihe kommt, ab Zeitpunkt d in der
Zeitachse, ist mindestens für die
Zeitspanne keine Steuerung möglich. Wegen der
Schedulerstrategie, allen Prozessen möglichst gleich viel Rechenzeit zu
geben, kann es aber vorkommen, daß andere Prozesse
Takte zum Rechnen bekommen, wenn mehrere Prozesse lauffähig sind oder
eine höhere Priorität haben. Dies ist besonders dann ein Problem, wenn
der Steuerprozeß nicht schläft, da er so unnötig Rechenzeit
verschwendet, die eigentlich andere Prozesse nutzen könnten.
Falls sich der Steuerprozeß schlafenlegt, kann in der Zeit vom Ende der
Befehlsberechnung bis zum nächsten Prozeßwechsel schon ein anderer
Prozeß an die Reihe kommen. Dies bedeutet aber auch, daß dann nur alle
eine Steuerung erfolgen kann.
Zusammengefaßt kann die Totzeit
lang sein, d.h.
diese Zeitspanne kann zwischen zwei Steuerimpulsen vergehen.
Das Pendel bewegt sich in dieser Zeit
vollkommen ungeregelt. In der Praxis wurden Ausfälle der Steuerung
bis zu 800ms erreicht.
Ein normaler Scheduler ist also für die Echtzeitregelung nicht brauchbar.