Das einfachste Beispiel eines Schedulers für periodische Tasks ist der sogenannte Time Line Scheduling Algorithmus. Die Grundidee dieses Algorithmus besteht darin, ausgehend von der Summe aller Ausführungszeiten aller zu bearbeitenden Ereignisse ein periodisches Intervall (den minor cycle) zu finden, das groß genug ist, alle Ereignisse aus zu bearbeiten. Gibt es solch ein Intervall (einen minor cycle), dann ist sichergestellt,daß alle ankommenden Ereignisse immer bearbetet werden können.
Beispiel (siehe für die Werte das Bild 4.1, für den Schedulingplan das Bild 4.2): ausgehend von einer Ereignismenge , deren Ereignisse mit den Häufigkeiten [Hz] auftreten kann man dann mittels die Perioden der Ereignisse ermitteln. Man ermittelt dann nach der Methode des größten gemeinsamen Teilers (greatest common divisor (GCD)) den kleinsten Zyklus (minor cycle), für den gilt:
Für die Abarbeitung innerhalb des TimeLine Schedulings ist zu beachten, daß die Anordnung der Tasks jeweils zu Beginn des minor cycles für alle Tasks im Bereich dieses minor cycles geklärt wird (vgl. Bild 4.3). Damit ist keine Präemption und damit kein Kontextswitch notwendig. Für weitere Details zum TL-Scheduling sei auf [11]:SS.76ff verwiesen.
Gerd Doeben-Henisch 2013-01-16