next up previous contents
Next: Ansteuerung des Pendels Up: Regelung des Pendelsystems Previous: Wahl eines geeigneten Systems

Echtzeitsteuerung unter Multitasking-Systemen

In Multitaskingsystemen werden durch den sogenannten Scheduler in einem bestimmten Takt tex2html_wrap_inline3476 die lauffähigen Prozesse auf dem Prozessor gewechselt. Ein Prozeßwechsel kann dabei nur zu den Schedulezeitpunkten stattfinden. Innerhalb eines Zeitabschnitts tex2html_wrap_inline3476 werden keine Prozeßwechsel durchgeführt.

Die einzige Ausnahme von dieser Regel ist, wenn ein Prozeß freiwillig Rechenzeit abgibt, sich also schlafen legt. Dies wird immer dann durchgeführt wenn der Prozeß nicht mehr weiterarbeiten kann, weil z.B. benötigte Daten noch nicht vorliegen. Aufgeweckt wird ein schlafender Prozeß dann durch das Eintreffen eines beim Schlafenlegen angegebenen Ereignisses. Ereignisse bedeuten normalerweise das Eintreffen von Daten, z.B. von der Platte, dem Netz, externen Geräten oder auch durch Benutzeraktivität, die der Prozeß zum Weiterarbeiten benötigt. Diese Ereignisse lösen einen Interrupt aus, der den Scheduler zum Wecken des Prozesses veranlaßt. Zu den lauffähigen Prozessen zählen alle Prozesse, die im Moment rechnen könnten, also nicht auf bestimmte Ereignisse warten.

Der Scheduler teilt die Rechenzeit möglichst gleichmäßig auf die einzelnen Prozesse auf, d.h. wenn fortwährend zwei Prozesse lauffähig sind, kommt jeder ungefähr jeden zweiten Scheduletakt zum Rechnengif. Auf Multiuser-/Multitaskingsystemen werden normalerweise zwischendurch auch andere Prozesse lauffähig, meist durch das Eintreffen oben beschriebener Ereignisse, wodurch sie dann aufgeweckt werden. Daher kann im allgemeinen nicht vorausgesagt werden, wann ein bestimmter Prozeß Rechenzeit bekommt und wie lange er rechnen kann. Dies führt bei Echtzeitanwendungen zu großen Problemen, da nicht sichergestellt werden kann, daß ein Echtzeitprozeß wirklich dann seine Rechenzeit bekommt, wenn er sie benötigt. Durch die später beschriebenen Modifikationen des normalen Schedulers muß diese Echtzeitfähigkeit erreicht werden. Zuerst wird aber die prinzipielle Funktionsweise der Hardware Steuerung dargelegt.



Marius Heuler
Tue Jan 7 12:11:50 MET 1997