Bei Linux gibt es verschiedene Möglichkeiten, die Echtzeit-Eigenschaften zu implementieren. Die beiden Lösungen Xenomai und RTAI (Realtime Application Interface) setzen auf die Technologie des Dual-Kernels, bei dem ein minimalistischer Kernel mit höchster Priorität arbeitet. Dieser Kernel vergibt mittels eines prioritätsbasierten Scheduling-Algorithmus Zeitscheiben an die weiteren Tasks, beispielsweise an Linux.
Bei RTAI (ohne LXRT-Erweiterung) werden die Echtzeit-Anwendungen als Kernelmodule realisiert, die weder Speicherschutzmechanismen noch Debug-Möglichkeiten mit Applikation-Debuggern unterstützen. Xenomai bietet dagegen ein API (Application Programming Interface), mit dem neben den echtzeitfähigen Kernelmodulen auch Anwendungen im User- Space mit harter Echtzeit ausführbar sind. Der Realtime-Preempt-Patch verfolgt einen ganz anderen Ansatz: Der Linux-Kernel selbst wurde modifiziert, so dass er in vorhersehbaren Zeitabständen zu unterbrechen ist. Außerdem lassen sich einzelne Linux-Prozesse höher priorisieren als der Kernel selbst und erhalten innerhalb einer vorhersagbaren Worst-Case-Verzögerung eine Zeitscheibe vom Scheduler.
Die Testumgebung
Die von Yellowstone Soft entwickelte Benchmark-Umgebung wird zur Evaluierung von kundenseitig spezifizierten Hardware- und Software-Umgebungen eingesetzt. Die Validierung einer Kombination aus Hardware, Linux-Kernel und Echtzeit-Erweiterungen liefert qualitative und quantitative Aussagen über das Verhalten des Systems. Dadurch lässt sich schon im frühen Projektstadium abwägen, ob die getestete Plattform zur Anwendung passt.
Voraussetzung für die Testumgebung ist eine funktionierende Linux-Version für das Zielsystem sowie mindestens zwei GPIO-Signale (General Purpose I/O). Zur Vorbereitung des Tests werden die ORF-Architektur und die darin realisierten Testprogramme auf das Zielsystem portiert. Der komplette Testzyklus dauert dann etwa einen Arbeitstag.