Cyclic Executive
# Cyclic Executive

Cyclic Executive ist eine Alternative zu Echtzeitbetriebssystemen. Es ist eine Form des Kooperativen Multitasking, in der lediglich ein Task läuft. Der einzige Task ist typischerweise als Endlosschleife geschrieben, z. B. in der Programmiersprache C in der main-Methode.

## Übersicht

Periodische Prozesse sind wichtige Software-Komponenten in Echtzeit-Computersystemen. Ein periodischer Prozess besteht aus einer Aktion, zum Beispiel einer Berechnung, die wiederholt in einem periodisch auftretenden Muster ausgeführt wird.

Eine Cyclic Executive ist eine Kontrollstruktur oder ein Programm um explizit die Ausführung mehrerer periodische Prozesse auf einer einzigen CPU zu verschachteln. Die Verschachtelung erfolgt in einer deterministischen Weise, so dass die Ausführungszeit voraussehbar ist. Es kann als Umsetzungstechnik für eine Design-Methodik gesehen werden, bei dem ein Echtzeit-System hauptsächlich aus einer Sammlung periodischer Prozesse besteht. Die Prozessverschachtelung (en: process interleaving) wird nach einem "zyklischen Zeitplan" (en: cyclic schedule) definiert.

Vorteile

* Einfache Implementierung
* Niedriger Aufwand
* Gut planbar

Nachteile

* Keine sporadischen Ereignisse behandelbar
* Alles muss im Gleichschritt arbeiten
* Code muss manuell geplant werden

## Beispiel

Das basic scheme zirkuliert dabei durch eine sich wiederholende Sequenze von Aufgaben, auf einer Frequenz. Als Beispiel dient hier ein Eingebettetes System, das einen Temperatursensor überwacht und ein LCD aktualisiert. Wenn das LCD zehnmal in der Sekunde (alle 100 Millisekunden) aktualisiert werden soll und der Temperatursensor aus anderem Grund alle 50 Millisekunden, könnte eine Schleife wie folgt konstruiert werden:

Der äußere 100-Millisekunden-Zyklus wird als major cycle definiert. In diesem Fall gibt es auch einen inneren minor cycle von 50 Millisekunden.

