Echtzeitsysteme werden überall da eingesetzt, wo die zeitliche Exaktheit einer Reaktion auf ein Ereignis nicht dem Zufall überlassen werden kann. Mittels automatisiertem Testverfahren soll die Echtzeitfähigkeit eines Embedded Linux basierten Systems charakterisiert werden. Durch die Testresultate soll ein Überblick an Anwendungsmöglichkeiten aufgezeigt werden.
Echtzeitsysteme kommen in den verschiedensten Technikgebieten zum Einsatz. Zunehmend werden mehr Anforderungen an Echtzeitsysteme in ihrer Portierbarkeit und Anwendungsvielfältigkeit gesetzt, sowie eine Kostenreduzierung auf Stufe Entwicklung angestrebt. Als wertvolle Lösung auf der Seite Software zeichnet sich der Linux Kernel mit dem PREEMPT-RT Patch ab. Dank der umfangreichen Unterstützung für Hardware Geräte und Peripherie, zusammen mit einer gut etablierten Programmierumgebung, könnte der Linux Kernel je nach Anforderung der Anwendung eine vielversprechende Alternative zu einem RTOS darstellen.
Um die Echtzeitfähigkeit von Linux basierten Systemen zu charakterisieren und ihre Grenzen aufzuzeigen, werden Latenzzeit Verifikation-Tests durchgeführt. Anschliessend müssen verschiedene Konfigurationen eines Linux Kernels auf einer Hardware diesem Test unterzogen werden. Hierfür wird ein automatisierter Teststand entwickelt und in Betrieb genommen. Der Teststand besteht aus vier Hauptkomponenten. Einem Master Board (Jupiter) und drei Test Boards (Ganymed, Europa, Kallisto), die über ein internes Netzwerk miteinander verbunden sind. Mittels eigens konfiguriertem Bootloader wird während dem Starten der Test Boards über TFTP der konfigurierte Linux Kernel vom Master Board heruntergeladen und mittels NFS das Root Filesystem eingebunden. Die Versionsverwaltung Gitlab bietet über Continuous Integration und Continuous Delivery (CI/CD) sowie eigens integriertem Gitlab-Runner die Möglichkeit, verschiedene konfigurierte Linux Kernel über eine Pipeline zu übersetzen und auf einer Hardware zu verifizieren.
Erste Resultate zeigen, dass sich die durchschnittliche Latenzzeit zwischen einem Linux Kernel mit und ohne PREEMPT-RT Patch kaum unterscheidet. Die maximale Latenzzeit ist beim Linux Kernel mit dem PREEMPT-RT Patch jedoch stets tiefer als beim Linux Kernel ohne. Werden die Systeme unter Last getestet, behauptet sich das System mit dem PREEMPT-RT Patch jedoch klar gegenüber dem System ohne.