230
4 Systemsoftware
geplant), RTOS für Multiprozessor-Systeme auf einem Chip (speziell für heterogene Multiprozessoren und mehrfädige (engl. multi-threaded) Prozessoren) sowie die
Unterstützung für Medienströme und Dienstgüte als Forschungsfragen.
Das erwartete Wachstum des Marktes für das Internet der Dinge führt dazu,
dass die Hersteller von Standard-Betriebssystemen versuchen, angepasste Versionen
ihrer Produkte zu vermarkten und damit spezialisierten Anbietern wie Wind River
Systems [591] Marktanteile abzuringen. Aufgrund zunehmender Netzanbindung von
eingebetteten Systemen werden Linux und davon abgeleitete Systeme populär. Vorund Nachteile des Einsatzes von Linux in solchen Systemen werden im Abschnitt
4.4 beschrieben.
4.1.3 Virtuelle Maschinen
In bestimmten Umgebungen kann es von Vorteil sein, mehrere Prozessoren auf
einem einzelnen echten Prozessor zu emulieren. Dies wird durch virtuelle Maschinen, die direkt auf der Hardware ausgeführt werden, ermöglicht. Auf Basis einer
solchen virtuellen Maschine können dann verschiedene Betriebssysteme realisiert
werden. Damit können mehrere Betriebssysteme auf einem einzigen Prozessor implementiert werden. Bei eingebetteten Systemen muss dieser Ansatz mit Vorsicht
betrachtet werden, da das Zeitverhalten hier problematischer sein kann und die zeitliche Vorhersagbarkeit verloren gehen könnte. Dennoch kann es Fälle geben, in
denen dieser Ansatz nützlich ist. Beispielsweise könnte es die Anforderung geben,
mehrere existierende Anwendungen, die verschiedene Betriebssysteme nutzen, auf
einem einzelnen Prozessor zu integrieren. Eine vollständige Betrachtung virtueller
Maschinen würde den Rahmen dieses Buches sprengen. Der interessierte Leser sei
daher auf die Bücher von Smith et al. [502] und Craig [114] verwiesen. PikeOS ist
ein Beispiel für ein Virtualisierungskonzept, das speziell für eingebettete Systeme
entwickelt wurde [520]. PikeOS ermöglicht es, die Ressourcen eines Systems (z.B.
Speicher, E/A-Geräte, CPU-Zeit) in einzelne Teilmengen aufzuteilen. PikeOS stellt
einen kleinen Mikrokern zur Verfügung. Auf Basis dieses Kerns können verschiedene Betriebssysteme, Programmierschnittstellen (APIs) und Laufzeitumgebungen
(engl. Run-Time Environments (RTEs)) implementiert werden (siehe Abb. 4.4).
Anwendung 2
API 1
Anwendung 1
OS 1
RTE 1
Anwendung 3
Hardware
PikeOS
Abb. 4.4 PikeOS-Virtualisierung (©SYSGO)
4 Systemsoftware
geplant), RTOS für Multiprozessor-Systeme auf einem Chip (speziell für heterogene Multiprozessoren und mehrfädige (engl. multi-threaded) Prozessoren) sowie die
Unterstützung für Medienströme und Dienstgüte als Forschungsfragen.
Das erwartete Wachstum des Marktes für das Internet der Dinge führt dazu,
dass die Hersteller von Standard-Betriebssystemen versuchen, angepasste Versionen
ihrer Produkte zu vermarkten und damit spezialisierten Anbietern wie Wind River
Systems [591] Marktanteile abzuringen. Aufgrund zunehmender Netzanbindung von
eingebetteten Systemen werden Linux und davon abgeleitete Systeme populär. Vorund Nachteile des Einsatzes von Linux in solchen Systemen werden im Abschnitt
4.4 beschrieben.
4.1.3 Virtuelle Maschinen
In bestimmten Umgebungen kann es von Vorteil sein, mehrere Prozessoren auf
einem einzelnen echten Prozessor zu emulieren. Dies wird durch virtuelle Maschinen, die direkt auf der Hardware ausgeführt werden, ermöglicht. Auf Basis einer
solchen virtuellen Maschine können dann verschiedene Betriebssysteme realisiert
werden. Damit können mehrere Betriebssysteme auf einem einzigen Prozessor implementiert werden. Bei eingebetteten Systemen muss dieser Ansatz mit Vorsicht
betrachtet werden, da das Zeitverhalten hier problematischer sein kann und die zeitliche Vorhersagbarkeit verloren gehen könnte. Dennoch kann es Fälle geben, in
denen dieser Ansatz nützlich ist. Beispielsweise könnte es die Anforderung geben,
mehrere existierende Anwendungen, die verschiedene Betriebssysteme nutzen, auf
einem einzelnen Prozessor zu integrieren. Eine vollständige Betrachtung virtueller
Maschinen würde den Rahmen dieses Buches sprengen. Der interessierte Leser sei
daher auf die Bücher von Smith et al. [502] und Craig [114] verwiesen. PikeOS ist
ein Beispiel für ein Virtualisierungskonzept, das speziell für eingebettete Systeme
entwickelt wurde [520]. PikeOS ermöglicht es, die Ressourcen eines Systems (z.B.
Speicher, E/A-Geräte, CPU-Zeit) in einzelne Teilmengen aufzuteilen. PikeOS stellt
einen kleinen Mikrokern zur Verfügung. Auf Basis dieses Kerns können verschiedene Betriebssysteme, Programmierschnittstellen (APIs) und Laufzeitumgebungen
(engl. Run-Time Environments (RTEs)) implementiert werden (siehe Abb. 4.4).
Anwendung 2
API 1
Anwendung 1
OS 1
RTE 1
Anwendung 3
Hardware
PikeOS
Abb. 4.4 PikeOS-Virtualisierung (©SYSGO)
