Immer mehr Anwendungen, insbesondere in den Bereichen Industrieautomation, Medizin und Datenerfassung und -messung, erfordern deterministisches Echtzeitverhalten.
Nachstehend finden Sie einen Leitfaden für Kunden, die Echtzeitanwendungen unter Windows betreiben müssen:
• Windows und Echtzeit: Hintergrund
Hintergrundinformationen über Windows und Echtzeit-Betriebssysteme
• Anforderungen um Echtzeit zu erzielen
Was ist zu beachten, wenn Echtzeitanwendungen unter Windows laufen sollen
• Windows Echtzeit-Erweiterungen im Vergleich
Welche Lösungen sind verfügbar, was sind die Unterschiede
• Wie RT-Linux alle Anforderungen erfüllt
Warum Echtzeit-Linux heute die beste Wahl ist
Der Unterschied zwischen einem Standard-Betriebssystem (OS) und einem Echtzeit-Betriebssystem (RTOS), welche typischerweise in vielen eingebetteten Systemen zu finden sind, liegt in der Reaktionszeit auf externe Ereignisse. Standard-Betriebssysteme bieten typischerweise eine nicht-deterministische, in einigen Fällen weiche Echtzeitreaktion, bei der es keine Garantien dafür gibt, wann die jeweilige Aufgabe abgeschlossen ist; dagegen steht die schnelle Reaktion auf Benutzer- bzw. Bediener-Anforderungen im Vordergrund. Ein RTOS unterscheidet sich dadurch, dass es eine harte Echtzeitreaktion liefert, die eine schnelle und deterministische Reaktion auf externe Ereignisse ermöglicht. Der Unterschied zwischen beiden Arten von Betriebssystemen kann anhand eines einfachen Beispiels verdeutlicht werden – vergleichen Sie die Bearbeitung eines Dokuments durch einen Benutzer auf einem Windows-PC mit dem Betrieb einer Präzisionsmotorsteuerung.
Beim Umschalten zwischen Tasks muss das RTOS diejenige Task auswählen, die als nächstes auf Grund ihrer Ausführungspriorität (der Wichtigkeit) ausgeführt werden soll. Es stehen hierbei verschiedene Scheduling-Algorithmen zur Verfügung, darunter Round Robin, kooperatives und hybrides Scheduling. Um jedoch ein reaktionsfähiges System bereitzustellen, verwenden die meisten RTOS einen präemptiven Scheduling-Algorithmus.
In einem präemptiven System wird jeder Aufgabe ein individueller Prioritätswert zugeordnet. Je schneller die erforderliche Reaktion erfolgt, desto höher ist die Prioritätsstufe. Wenn in diesem Modus gearbeitet wird, ist die Aufgabe, die zur Ausführung kommt, die Aufgabe mit der höchsten Priorität. Dies führt zu einem System mit hoher Reaktionsfähigkeit.
Echtzeiterweiterungen für Windows können auf unterschiedliche Art und Weise implementiert werden, es gibt wichtige Vorteile und Kompromisse, die zu berücksichtigen sind. Im Gegensatz dazu, was Benutzer glauben könnten, machen Echtzeiterweiterungen nicht Windows selbst zu einem Echtzeitbetriebssystem (RTOS). Bestehende Windows-Anwendungen werden sich nicht automatisch wie Echtzeitanwendungen verhalten, wenn eine Windows-Echtzeiterweiterung genutzt wird. Stattdessen wird für das Echtzeitverhalten ein Echtzeit-Laufzeitsystem benötigt – und eine solche Laufzeit-Umgebung ist faktisch ein RTOS.
Typischerweise implementieren Windows-Echtzeiterweiterungen ein proprietäres RTOS parallel ausgeführt zu Windows oder manchmal sogar eingebettet in Windows. Diese RTOS-Lösungen werden nie oder selten in anderen Arten von Anwendungen eingesetzt.
Bei diesen Lösungen muss jede Echtzeitanwendung auf diesem proprietären RTOS laufen. Dies kann für Entwickler eine Herausforderung darstellen, da sie die proprietäre Umgebung für die Entwicklung ihrer Echtzeitanwendungen erlernen und nutzen müssen. Außerdem müssen sie sich auf das Vorhandensein von Funktionen verlassen, die vom Hersteller dieses RTOS implementiert werden sollten, diese Funktionen fehlen manchmal oder es braucht Zeit, bis diese vollständig verfügbar sind.
Wir sehen diesen Trend auch auf dem breiteren industriellen Markt, der über reine EtherCAT-Anwendungen hinausgeht. Führende globale Unternehmen, die Maschinen-, Bewegungs- und Robotersteuerungen sowie SPS, Halbleiterfertigungsmaschinen und Test- und Messtechniklösungen anbieten, haben alle damit begonnen, RT-Linux anstelle anderer, meist auch veralteter Echtzeitbetriebssysteme zu implementieren.
Schließlich wird RT-Linux im kommenden neuen Echtzeit-Ethernet-Standard, der als Time Sensitive Networking (TSN) bekannt ist, eine Schlüsselrolle als wichtigstes Betriebssystem spielen.
Unter Berücksichtigung der oben genannten Anforderungen an eine Windows-Echtzeiterweiterung liegt es auf der Hand, dass RT-Linux heute die beste Wahl für den Einsatz als Windows Echtzeiterweiterung ist.
Für anspruchsvolle Anwendungen unterstützt LxWin auch Symmetrisches Multiprocessing, wobei mehrere CPU-Kerne für die Echtzeitanwendung verwendet werden können.
Mit LxWin brauchen sich Entwickler jedoch überhaupt nicht mit der Konfiguration und dem Bau des Linux-Kernels zu beschäftigen. Der Linux-Kernel, der mit LxWin ausgeliefert wird, ist bereits entsprechend gepatcht, konfiguriert und als harter Echtzeit-Kernel mit deterministischem Verhalten getestet. Als Ergebnis können extrem kurze Zykluszeiten von bis zu 50 Mikrosekunden erreicht werden.
acontis LxWin Tutorial: Real-time Linux and Windows together on the same hardware
acontis technologies ist ein führender Branchenanbieter von hoch-performanten Windows-Echtzeiterweiterungen, Echtzeit-Virtualisierungssoftware und Echtzeit-Ethernet-Kommunikationssoftware für den Einsatz in unterschiedlichsten Märkten. Die Windows-Echtzeiterweiterungen und die Echtzeit-Virtualisierungssoftware erfüllen harte Echtzeitanforderungen für den Betrieb fortschrittlichster industriellen Steuerungs-, Robotik-, Prozesssteuerungs-, Halbleiter-, Hardware-in-the-Loop-Simulations und Hochgeschwindigkeitsdatenerfassungssoftware sowie andere Anwendungen mit geringer Latenzzeit. Acontis technologies bietet diese Echtzeitlösungen seit über 25 Jahren mit Vertrieb und Support an Standorten in ganz Europa, Nordamerika und Asien an.