21C3 Schedule Release 1.1.7

21st Chaos Communication Congress
Lectures and workshops

Speakers
Picture of Benedikt Spranger Benedikt Spranger
Schedule
Day 1
Location Saal 4
Start Time 14:00 h
Duration 01:00
INFO
ID 56
Type Lecture
Track Hacking
Language german
FEEDBACK

LiberTOS

Echtzeiterweiterung des Linuxkernels

Echtzeit-Anforderungen spielen in weiten Bereichen mittlerweise eine große Rolle. Bisherige Ansätze den Linux-Kernel echtzeitfähig zu machen gingen von einem Dual-Kernel-Ansatz aus. LiberTOS ist eine Erweiterung die Echtzeitfähigkeit direkt im Kernel bietet.

Von der Multimedia-Anwendung bis zur Industriesteuerung werden immer häufiger definierte Ausführzeiten gefordert. Diesen Anforderungen genügt der Linux-Kernel zur Zeit nicht. Bisherige Ansätze den Kernel Echtzeitfähig zu machen verfolgten den Dual-Kernel Ansatz. Ein kleiner echtzeitfähiger Kernel scheduled hier Echtzeit- und Nicht-EchtzeitProzesse. Ein entsprechend angepasstes Linux läuft hier dann als Nicht-Echtzeit-Prozess. Die Echtzeit-Prozesse wurden traditionell als Kernel-Module des Echtzeit-Kernels implementiert. Um komplexere Anwendungen handhabbar erstellen zu können, wurde der Ruf nach der Möglichkeit echtzeitfähige Userspace-Programme zu erstellen können laut.

Dies impliziert erhebliche Probleme bei den bisherigen Dual-Kernel-Implementierungen. Große Teile an vorhandenen Bibliotheken sowie die Interprozesskomunikation müssen neu implementiert werden. Dies führt zu einem erheblichen Aufwand bei der Pflege dieser Software. Das Opensource-Projekt LiberTOS, dass aus dem KU-Realtime-Project (KURT) hervorgegangen ist, dagegen macht den Linux-Kernel echtzeitfähig, ist also eine In-Kernel-Implementierung. Die bestehenden Teile des Linux-Kernels wurden überprüft und wenn nötig angepasst. Um Programmen oder Kernel-Modulen echtzeitfähigkeiten zuzuordnen wurde eine schlanke API implementiert. Weiterhin wurde die Möglichkeit des Gruppenscheduling, sowie des einfachen Austausches einzelner Scheduler geschaffen.

In diesem Vortrag wird nach einer kurzen Einführung in die Echtzeit-Problematik und Geschichte der Echtzeit-Erweiterungen des Linux-Kernels gezeigt, dass der LinuxKernel mit überschaubaren Änderungen echtzeitfähig gemacht werden kann. Zum Schluß erfolgt ein Ausblick anhand von einigen Beispielen auf die Möglichkeiten die LiberTOS dem Benutzer bietet.