Leiner, B. M. J. (2006). A partitioning operating system based on RTAI-LXRT Linux [Master Thesis, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/178061
Zuverlässige elektronische Systeme sind aus der heutigen Gesellschaft nicht mehr weg zu denken. Insbesondere, da sich auch immer mehr sicherheitskritische Anwendungen auf die Funktionalität von eingebauten Mikroprozessoren - so genannten embedded systems- verlassen. Die Gründe für die Abkehr von konventionellen und bewährten mechanischen Systemen sind vielfältig: Computergesteuerte Prozesse bieten mehr Flexibilität und machen viele neue Anwendungen erst möglich. Eine der größten Herausforderungen bei dieser immer weiter gehenden Verbreitung ist die zunehmende Komplexität solcher Lösungen, die es schwierig macht, die benötigte Zuverlässigkeit zu erreichen. Des weiteren spielen Kosten, sowohl in der Fertigung als auch für die Wartung, mit zunehmenden Stückzahlen eine immer größere Rolle. Integrierte Systemarchitekturen, die eine Plattform zusammengesetzt aus validierten Hardware und Softwarekomponenten bieten, gelten als eine mögliche Lösung für die oben genannten Herausforderungen. Das DECOS (Dependable Embedded Components and Systems) Projekt, gesponsert von der europäischen Union, zielt darauf ab, grundlegende Technologien für die Einführung solcher integrierter Architekturen zu entwickeln. Eine solche Technologie sind partitionierende Betriebssysteme, die die Ausführung von mehreren Softwarekomponenten auf einem Prozessor ermöglichen und dabei garantieren, dass keine gegenseitige Beeinflussung zwischen diesen Komponenten stattfindet. Dies gilt sowohl für die zeitliche, als auch für die räumliche Dimension. Diese Arbeit zeigt eine mögliche Implementierung eines solchen partitionierenden Betriebssystem auf Basis eines RTAI (Real Time Application Interface) Echtzeit Linux Systems. Eine existierende Prototyp-Implementierung, durchgeführt im Rahmen des DECOS Projektes, wird auf Schwächen hinsichtlich Partitionierung untersucht. Um Informationen über das zeitliche Verhalten zu erhalten wird ein Kontrollsystem entwickelt, dass periodisch Zeitstempel über ein Netzwerk an einen Kontrollserver sendet. Zusätzlich werden Prüfsummen über verschiedene Speicherbereiche berechnet um eine Verletzung der räumlichen Partitionierung festzustellen. Das Ausführeren mehrerer Testfälle zeigt einige Lücken in der Partitionierung auf. Größtenteils werden diese durch die zu großzügige Ver\-füg\-barkeit von Funktionalität in der Schnittstelle für die Partitionsprozesse verursacht. Um diese Funktionalität einzuschränken wird ein Linux-Kernel Modul entwickelt. Sobald dieses geladen ist, haben Partitionsprozesse keinen Zugang zu Linux Systemaufrufen mehr und sind außerdem auf eine kleine Teilmenge der RTAI Funktionen beschränkt. Diese Teilmenge wird ihnen durch eine neue Schnittstelle zur Verfügung gestellt die weiters einen zusätzlichen Signatur-Parameter für alle Funktionsaufrufe verlangt. Dieser wird verwendet um eine einfache Authentifizierung von Prozessen durchzuführen die auf eine Ressource zugreifen. Eine Wiederholung der Testfälle, die in der ursprünglichen Konfiguration eine Verletzung der Partitionierung verursacht haben, zeigt die Fortschritte die bezüglich Partitionierung in der adaptierten Ausführungsumgebung erzielt wurden.
Dependable embedded systems are an indispensable technology in today's information society. Especially since more and more safety-critical applications are depending on such embedded systems. There are various reasons to replace conventional, mechanical systems: embedded systems offer more flexibility and are often needed to make new applications possible at all. One of the main challenges of the wide spread usage of such systems is the increasing complexity which makes it very difficult to reach the necessary dependability. Furthermore, production and maintenance costs play an increasing role as soon as the deployment reaches large numbers. Integrated architectures, building execution platforms from a set of pre-validated hardware and software components, promise a solution for the stated problems. The DECOS (Dependable Embedded Components and Systems) project, funded by the European Union, aims at developing basic technologies for the introduction of such integrated architectures. One of the core technologies are partitioning operating systems which are able to execute multiple software components on a single processor while guaranteeing that these components cannot influence each other. This holds for both, the temporal and the spatial domain. This thesis shows a possible implementation of such a partitioning operating system on top of a RTAI (Real Time Application Interface) real-time Linux system. An existing prototype implementation, done for the DECOS project, is evaluated regarding partitioning capabilities. To collect information about the temporal behaviour, a monitoring framework that periodically sends timestamps via a network to a monitoring server, is implemented. Additionally, checksums calculated over multiple memory areas are used to observe violations of spatial partitioning. Running multiple test cases identifies some holes in the partitioning, mainly resulting from the availability of to much functionality in the interface provided to the partition tasks. A kernel module is developed that cuts down this functionality. When loaded, partition tasks are not able to use Linux system calls any more and are restricted to a small subset of RTAI functions. This subset is provided to them in form of a new interface that also introduces a mandatory signature parameter in each function call to provide basic authentication of jobs claiming ownership of a resource. Rerunning the test cases that causes a violation of partitioning in the original setup shows the improvements with reference to partitioning in the adapted execution environment.