Real-Time-Suite motzt Windows auf

Obwohl es viele dedizierte Echtzeit-Betriebssysteme gibt, setzen viele Entwickler am liebsten auf Windows – wegen der grafischen Oberfläche, des weit verbreiteten Programmier-Know-hows und der Universalität. Mit der RealTime Suite 2008 von Kithara lassen sich sogar Echtzeit-Tasks unter Windows ausführen.

Obwohl es viele dedizierte Echtzeit-Betriebssysteme gibt, setzen viele Entwickler am liebsten auf Windows – wegen der grafischen Oberfläche, des weit verbreiteten Programmier-Know-hows und der Universalität. Mit der RealTime Suite 2008 von Kithara lassen sich sogar Echtzeit-Tasks unter Windows ausführen.

Zur Steuerung von Mensch-Maschine-Schnittstellen greifen Software-Entwickler aus der Automatisierungstechnik gerne auf Windows zurück, weil dessen grafische Oberfläche dem Bedienpersonal sofort vertraut ist. Was liegt da angesichts der hohen Rechenleistungen der modernen Prozessoren näher, als auch gleich noch einige Steuer- und Regelungsaufgaben vom gleichen Rechner erledigen zu lassen? Allerdings ist das mit Windows nicht ohne weiteres möglich, da dem PC-Betriebssystem die für zeitkritische Anwendungen notwendige Echtzeit-Fähigkeit abgeht. Doch die lässt sich nachrüsten, etwa in Form der „Real-Time Suite 2008“ von Kithara Software. Hierbei handelt es sich nicht um ein „untergeschobenes“ Echtzeit-Betriebssystem, das vor dem Windows-Start gebootet wird, sondern um eine Reihe von Kernel-Treibern, die mit höchster Priorität laufen.

Das Basis-Modul der RealTime Suite ist der Grundbaustein, der den Kernel für die Ausführung von Anwendungscode zugänglich macht und zwischen Kernel- und Anwendungsmodus umschaltet. Grundlegende Verwaltungsfunktionen sorgen dafür, dass der im Kernel-Modus ausgeführte Code über Shared Memory mit dem Rest des Systems kommunizieren kann oder dass z.B. nach Ende der Code-Abarbeitung durch eine Callback-Funktion wieder in den Anwendungsmodus zurückgeschaltet wird. Durch die Ausführung von Code im Kernel-Modus können alle anderen Windows-Funktionen wie beispielsweise Garbage Collection, Interrupt-Verarbeitung usw. verdrängt und mit niedrigerer Priorität ausgeführt werden.