228
4 Systemsoftware
ab, wie diese auf einer bestimmten Ausführungsplattform unterstützt werden.
Wenn die Implementierung durch Prozesse auf Anwendungsebene erfolgt, sind
sie sehr unpräzise (mit einer Genauigkeit im Millisekunden-Bereich). Zeitdienste
sind sehr präzise (mit Genauigkeiten im Mikrosekunden-Bereich), wenn sie von
der Kommunikationshardware unterstützt werden. Weitere Informationen über
Zeitdienste und Uhrensynchronisation finden sich im Buch von Kopetz [304].
• Das Betriebssystem muss schnell sein. Ein Betriebssystem, das alle bisher angeführten Anforderungen erfüllt, wäre nutzlos, wenn es selbst langsam wäre. Daher
muss ein Betriebssystem offensichtlich schnell sein.
Jedes RTOS beinhaltet einen sogenannten Echtzeitkern. Dieser verwaltet die
Ressourcen, die in jedem Echtzeitsystem vorhanden sind, wie z.B. den Prozessor,
den Speicher und die Systemzeitgeber. Wichtige Funktionen des Echtzeitkerns sind
die Verwaltung von Prozessen, Synchronisation und Kommunikation zwischen Prozessen, Zeitverwaltung und Speicherverwaltung.
Einige RTOS wurden für allgemeine eingebettete Anwendungen entworfen, während andere sich auf bestimmte Anwendungsgebiete spezialisiert haben. So sind
beispielsweise OSEK/VDX ® -kompatible Betriebssysteme speziell für den Einsatz
in Steuergeräten im Automobilbereich gedacht. Betriebssysteme für einen bestimmten Anwendungsbereich stellen bestimmte Dienste für diesen speziellen Bereich zur
Verfügung; sie können dadurch kompakter sein als Betriebssysteme, die für mehrere
Anwendungsbereiche geeignet sind.
In ähnlicher Weise gibt es RTOS, die eine Standard-Programmierschnittstelle
anbieten, während andere Systeme eine eigene, proprietäre API besitzen. So implementieren einige RTOS die standardisierte POSIX RT-Erweiterung für UNIX
[202], andere implementieren den OSEK ISO 17356-3:2005-Standard oder die in
Japan entwickelte ITRON-Spezifikation6. Viele Echtzeitbetriebssysteme verwenden
ihre eigene API. Das erwähnte ITRON ist ein industrieerprobtes RTOS, das die
Konfiguration zur Link-Zeit ermöglicht.
Die verfügbaren RTOS lassen sich weiterhin nach den folgenden Kriterien unterscheiden [194]:
• Schnelle, proprietäre Kerne: Nach Gupta sind „diese Kerne nicht für komplexe
Systeme geeignet, da sie entworfen wurden, um schnell zu sein, aber nicht, um
in jeder Hinsicht vorhersagbar zu sein”. Beispiele für solche Systeme sind QNX,
PDOS, VCOS, VTRX32 und VxWorks.
• Um Echtzeitfunktionen erweiterte Standard-Betriebssysteme: Hybride Systeme wurden entwickelt, um die Vorteile komfortabler Standard-Betriebssysteme
nutzen zu können. In solchen Systemen gibt es einen besonderen Echtzeitkern, der alle Echtzeitprozesse verwaltet. Das Standard-Betriebssystem wird
dann als ein solcher Prozess ausgeführt (siehe Abb. 4.3). Dieser Ansatz bietet
einige Vorteile: das System verfügt über eine standardisierte BetriebssystemProgrammierschnittstelle (API) und kann eine graphische Benutzerschnittstelle (GUI) sowie Dateisysteme usw. realisieren. Zudem sind Erweiterungen des
6 Siehe http://www.ertl.jp/ITRON/ .
4 Systemsoftware
ab, wie diese auf einer bestimmten Ausführungsplattform unterstützt werden.
Wenn die Implementierung durch Prozesse auf Anwendungsebene erfolgt, sind
sie sehr unpräzise (mit einer Genauigkeit im Millisekunden-Bereich). Zeitdienste
sind sehr präzise (mit Genauigkeiten im Mikrosekunden-Bereich), wenn sie von
der Kommunikationshardware unterstützt werden. Weitere Informationen über
Zeitdienste und Uhrensynchronisation finden sich im Buch von Kopetz [304].
• Das Betriebssystem muss schnell sein. Ein Betriebssystem, das alle bisher angeführten Anforderungen erfüllt, wäre nutzlos, wenn es selbst langsam wäre. Daher
muss ein Betriebssystem offensichtlich schnell sein.
Jedes RTOS beinhaltet einen sogenannten Echtzeitkern. Dieser verwaltet die
Ressourcen, die in jedem Echtzeitsystem vorhanden sind, wie z.B. den Prozessor,
den Speicher und die Systemzeitgeber. Wichtige Funktionen des Echtzeitkerns sind
die Verwaltung von Prozessen, Synchronisation und Kommunikation zwischen Prozessen, Zeitverwaltung und Speicherverwaltung.
Einige RTOS wurden für allgemeine eingebettete Anwendungen entworfen, während andere sich auf bestimmte Anwendungsgebiete spezialisiert haben. So sind
beispielsweise OSEK/VDX ® -kompatible Betriebssysteme speziell für den Einsatz
in Steuergeräten im Automobilbereich gedacht. Betriebssysteme für einen bestimmten Anwendungsbereich stellen bestimmte Dienste für diesen speziellen Bereich zur
Verfügung; sie können dadurch kompakter sein als Betriebssysteme, die für mehrere
Anwendungsbereiche geeignet sind.
In ähnlicher Weise gibt es RTOS, die eine Standard-Programmierschnittstelle
anbieten, während andere Systeme eine eigene, proprietäre API besitzen. So implementieren einige RTOS die standardisierte POSIX RT-Erweiterung für UNIX
[202], andere implementieren den OSEK ISO 17356-3:2005-Standard oder die in
Japan entwickelte ITRON-Spezifikation6. Viele Echtzeitbetriebssysteme verwenden
ihre eigene API. Das erwähnte ITRON ist ein industrieerprobtes RTOS, das die
Konfiguration zur Link-Zeit ermöglicht.
Die verfügbaren RTOS lassen sich weiterhin nach den folgenden Kriterien unterscheiden [194]:
• Schnelle, proprietäre Kerne: Nach Gupta sind „diese Kerne nicht für komplexe
Systeme geeignet, da sie entworfen wurden, um schnell zu sein, aber nicht, um
in jeder Hinsicht vorhersagbar zu sein”. Beispiele für solche Systeme sind QNX,
PDOS, VCOS, VTRX32 und VxWorks.
• Um Echtzeitfunktionen erweiterte Standard-Betriebssysteme: Hybride Systeme wurden entwickelt, um die Vorteile komfortabler Standard-Betriebssysteme
nutzen zu können. In solchen Systemen gibt es einen besonderen Echtzeitkern, der alle Echtzeitprozesse verwaltet. Das Standard-Betriebssystem wird
dann als ein solcher Prozess ausgeführt (siehe Abb. 4.3). Dieser Ansatz bietet
einige Vorteile: das System verfügt über eine standardisierte BetriebssystemProgrammierschnittstelle (API) und kann eine graphische Benutzerschnittstelle (GUI) sowie Dateisysteme usw. realisieren. Zudem sind Erweiterungen des
6 Siehe http://www.ertl.jp/ITRON/ .
