Open Source im professionellen Einsatz

Redhawk Linux: Harte Echtzeit unter Linux

Prime Time

Unter dem Namen I-Hawk verkauft die Firma Concurrent Linux-Komplettsysteme, die nicht nur leistungs-, sondern auch echtzeitfähig sein sollen. Warum das dahinter stehende Shielded-CPU-Konzept zu überzeugen weiß, berichtet dieser Test.

Das Echtzeitverhalten eines Betriebssystems lässt sich an zwei Parametern festmachen: an der Interrupt- und der Task-Latenzzeit. Erstere ist die Zeitspanne zwischen dem Auftreten (Generieren) des Interrupts und dem Starten der Interrupt-Serviceroutine. Die Task-Latenzzeit umfasst die Zeitspanne vom Auftreten des Interrupts bis zum Start des zugehörigen Rechenprozesses. Latenzen werden gemeinhin als Worst-Case-Zeiten angegeben. Durchschnittswerte wären für so genannte harte Echtzeitsysteme nämlich vollkommen irrelevant (siehe Kasten "Weiche und harte Echtzeit").

Dass Linux keine Garantie für Latenzzeiten übernimmt, hat sich herumgesprochen: ein Standard-Linux ist nicht echtzeitfähig. Das ist bedauerlich, denn es hat viele Vorteile, ein vom Schreibtisch bekanntes Betriebssystem auch für Echtzeitaufgaben einzusetzen. Das bekanntlich breit eingesetzte Linux unterstützt vielfältige Hardware. Und dass die Einarbeitung für den Entwickler wegfällt, geht ebenfalls klar auf die Haben-Seite.

Einen ersten Schritt in Richtung harte Echtzeit gehen RT-Linux und RTAI ([1] bis[3]). Zwar machen sie Linux nicht im engeren Sinn echtzeitfähig, fügen jedoch dem Linux- einen Echtzeitkernel hinzu. Der Linux-Kernel ist die Idle-Task des Echtzeitkernels. Beide tauschen über Fifos oder gemeinsame Speicherbereiche Daten aus und harmonisieren ihr Verhalten auf einer CPU.

Das Einhalten von Interrupt- oder Task-Latenzen bleibt allerdings Sache der Prozesse auf dem Echtzeitkernel. Vorhandene Linux-Tasks werden dadurch nicht echtzeitfähig (Abbildung 1a). Ein Nachteil ist, dass sich der Entwickler von Echtzeitapplikationen in ein zweites Betriebssystem mit neuen Schnittstellen einarbeiten muss.

Power satt

Die Firma Concurrent Computer Systems[4] möchte mit ihrem kommerziellen System I-Hawk 860 ein wirkliches Echtzeit-Linux anbieten. Das gibt es allerdings nur als komplettes System bestehend aus Hard- und Software zu kaufen. Gedacht ist es für komplexe Echtzeitanwendungen, sprich für rechenintensive Aufgaben wie die Steuerung eines Man-in-the-loop-Simulators (zum Beispiel eines Flugsimulators) oder zum Erfassen von Raketen- oder Jet-Triebwerksdaten.

Doppelherz ist Pflicht

Mindestanforderungen sind ein zweiter Prozessor und eine Timerkarte (RCIM-Board). Ausstattung und Preis des Testgeräts im Labor des Linux-Magazins listet der Kasten "I-Hawk 862 Tower", Abbildung 2 zeigt es. Wer noch mehr Power braucht, dem liefert Concurrent eine Acht-Prozessor-Maschine, wahlweise mit Intel Xeons oder AMD-Opteron-Prozessoren. Ein Einstiegsmodell kostet knapp 5000 Euro, die Acht-Prozessor-Intel-Maschine mit 32 GByte RAM und 730 GByte Plattenplatz belastet das Konto mit 109500 Euro.

An Software legt die im Markt der Echtzeitsysteme seit vielen Jahren bekannte Firma das modifizierte Linux Redhawk 2.2 sowie Tools zum Debugging und zum Betrieb der Echtzeitapplikationen bei. Redhawk Linux kommt auch als Quellcode ins Haus und steht mit Ausnahme des Frequency Based Schedulers unter der GPL. Die anderen, zum Betrieb nicht unbedingt notwendigen Applikationen sind nicht quelloffen.

I-Hawk 862 Tower

Komponenten: 2 Xeon-HT-CPUs 2,8 GHz mit je 1 MByte L2-Cache, 2 PCIe-, 4 PCI-Slots, 1 GByte RAM, 2 SCSI-Platten à 73 GByte, PCIe-(x16)-Grafikkarte mit Nvidia Quadro (64 MByte)

Schnittstellen: 1x Gigabit-Ethernet, 2x seriell, 1x parallel, 8x USB, 2x Firewire

Spezialhardware: RCIM (Realtime Clock & Interrupt Module)

Betriebssystem: Redhawk Linux 2.2

Preis: rund 7100 Euro

Redhawk 2.2 beruht auf einem Red-Hat-Linux-Kernel 2.6.6, den Concurrent umfangreich um diverse Echtzeiteigenschaften und Debugging-Möglichkeiten erweitert hat. Als Stichworte seien hier Prioritätsvererbung, Spinlocks für Applikationen (!) oder die Posix Realtime Extensions genannt (siehe Kasten "Redhawks Echtzeiteigenschaften"). Von zentraler Bedeutung sind das so genannte CPU-Shielding und der Frequency Based Scheduler.

Abbildung 1a: RT-Linux ist konzeptionell ein extra Betriebssystemkern, auf dem Linux als Idle-Task läuft.

Abbildung 1a: RT-Linux ist konzeptionell ein extra Betriebssystemkern, auf dem Linux als Idle-Task läuft.

Abbildung 1b: Bei Redhawk Linux laufen stattdessen Echtzeit-Linux-Prozesse auf einer separaten CPU.

Abbildung 1b: Bei Redhawk Linux laufen stattdessen Echtzeit-Linux-Prozesse auf einer separaten CPU.

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook