226
4 Systemsoftware
Prozess direkt mit einer Unterbrechung verbunden ist, könnte es schwierig sein,
einen weiteren Prozess hinzuzufügen, der ebenfalls von einem bestimmten Ereignis gestartet werden soll. Wenn anwendungsspezifische Gerätetreiber verwendet
werden, könnten diese ebenfalls Verbindungen zwischen Unterbrechungen und
Prozessen herstellen. Techniken zur Herstellung sicherer Verbindungen wurden
von Hofer et al. untersucht [219].
• Viele eingebettete Betriebssysteme sind Echtzeitsysteme. Daher muss das verwendete Betriebssystem ein echtzeitfähiges Betriebssystem (engl. Real-Time
Operating System (RTOS)) sein.
Weiterführende Informationen über eingebettete Betriebssysteme finden sich in
einem von Bertolotti geschriebenen Buchkapitel [51]. Dieses Kapitel beinhaltet
Informationen über die Architektur eingebetteter Betriebssysteme, den POSIXStandard, Open Source-Echtzeitbetriebssysteme und Virtualisierung.
4.1.2 Echtzeitbetriebssysteme
Definition 4.3: Nach Takada [523] ist „Ein Echtzeitbetriebssystem ... ein Betriebssystem, das die Erstellung von Echtzeitsystemen unterstützt”.
Es gibt vier Eigenschaften, welche die Echtzeitfähigkeit eines Betriebssystems ausmachen5:
• Das Zeitverhalten des Betriebssystems muss vorhersagbar sein. Für jeden
Dienst des Betriebssystems muss eine obere Schranke für die entsprechende
Ausführungszeit garantiert sein. In der Praxis unterscheidet man zwischen verschiedenen Stufen der Vorhersagbarkeit. So kann es Mengen von Systemaufrufen
geben, für die eine obere Schranke bekannt ist und deren Ausführungszeit nicht
signifikant schwankt. Ein solcher Aufruf könnte „liefere die aktuelle Tageszeit”
sein. Bei anderen Aufrufen könnte es dagegen starke Schwankungen geben. Aufrufe wie „reserviere 4 MB freien Speicher” könnten in diese zweite Klasse fallen.
Insbesondere muss das Scheduling-Verfahren jedes RTOS deterministisch sein.
Unter bestimmten Umständen kann es notwendig sein, Unterbrechungen zu sperren, um die gegenseitige Beeinflussung zwischen bestimmten Teilen des Betriebssystems zu vermeiden. Unterbrechungen können auch gesperrt werden, um
Wechselwirkungen zwischen Prozessen zu vermeiden; dies ist jedoch meist von
geringerer Bedeutung. Die Zeiträume, in denen Unterbrechungen gesperrt sind,
sollten sehr kurz sein, um nicht vorhersagbare Verzögerungen bei der Abarbeitung
kritischer Ereignisse zu vermeiden.
Wenn ein RTOS ein Dateisystem auf einer Festplatte implementiert, kann es
notwendig sein, grundsätzlich unfragmentierte Dateien (Dateien, deren Blöcke in
aufeinanderfolgenden Festplattenbereichen gespeichert sind) zu implementieren,
um unvorhersagbare Bewegungen der Festplattenköpfe zu vermeiden.
5 Dieser Abschnitt beinhaltet Informationen aus dem Tutorial von Hiroaki Takada [523].
4 Systemsoftware
Prozess direkt mit einer Unterbrechung verbunden ist, könnte es schwierig sein,
einen weiteren Prozess hinzuzufügen, der ebenfalls von einem bestimmten Ereignis gestartet werden soll. Wenn anwendungsspezifische Gerätetreiber verwendet
werden, könnten diese ebenfalls Verbindungen zwischen Unterbrechungen und
Prozessen herstellen. Techniken zur Herstellung sicherer Verbindungen wurden
von Hofer et al. untersucht [219].
• Viele eingebettete Betriebssysteme sind Echtzeitsysteme. Daher muss das verwendete Betriebssystem ein echtzeitfähiges Betriebssystem (engl. Real-Time
Operating System (RTOS)) sein.
Weiterführende Informationen über eingebettete Betriebssysteme finden sich in
einem von Bertolotti geschriebenen Buchkapitel [51]. Dieses Kapitel beinhaltet
Informationen über die Architektur eingebetteter Betriebssysteme, den POSIXStandard, Open Source-Echtzeitbetriebssysteme und Virtualisierung.
4.1.2 Echtzeitbetriebssysteme
Definition 4.3: Nach Takada [523] ist „Ein Echtzeitbetriebssystem ... ein Betriebssystem, das die Erstellung von Echtzeitsystemen unterstützt”.
Es gibt vier Eigenschaften, welche die Echtzeitfähigkeit eines Betriebssystems ausmachen5:
• Das Zeitverhalten des Betriebssystems muss vorhersagbar sein. Für jeden
Dienst des Betriebssystems muss eine obere Schranke für die entsprechende
Ausführungszeit garantiert sein. In der Praxis unterscheidet man zwischen verschiedenen Stufen der Vorhersagbarkeit. So kann es Mengen von Systemaufrufen
geben, für die eine obere Schranke bekannt ist und deren Ausführungszeit nicht
signifikant schwankt. Ein solcher Aufruf könnte „liefere die aktuelle Tageszeit”
sein. Bei anderen Aufrufen könnte es dagegen starke Schwankungen geben. Aufrufe wie „reserviere 4 MB freien Speicher” könnten in diese zweite Klasse fallen.
Insbesondere muss das Scheduling-Verfahren jedes RTOS deterministisch sein.
Unter bestimmten Umständen kann es notwendig sein, Unterbrechungen zu sperren, um die gegenseitige Beeinflussung zwischen bestimmten Teilen des Betriebssystems zu vermeiden. Unterbrechungen können auch gesperrt werden, um
Wechselwirkungen zwischen Prozessen zu vermeiden; dies ist jedoch meist von
geringerer Bedeutung. Die Zeiträume, in denen Unterbrechungen gesperrt sind,
sollten sehr kurz sein, um nicht vorhersagbare Verzögerungen bei der Abarbeitung
kritischer Ereignisse zu vermeiden.
Wenn ein RTOS ein Dateisystem auf einer Festplatte implementiert, kann es
notwendig sein, grundsätzlich unfragmentierte Dateien (Dateien, deren Blöcke in
aufeinanderfolgenden Festplattenbereichen gespeichert sind) zu implementieren,
um unvorhersagbare Bewegungen der Festplattenköpfe zu vermeiden.
5 Dieser Abschnitt beinhaltet Informationen aus dem Tutorial von Hiroaki Takada [523].
