224
4 Systemsoftware
Überblick über Ansätze der Betriebssystemspezialisierung wurde von McNamee et al. veröffentlicht [388].
– Linker-basierte Entfernung ungenutzter Funktionen: Oft stehen zur LinkZeit mehr Informationen darüber zur Verfügung, welche Funktionen verwendet
und welche nicht verwendet werden. So kann ein Linker z.B. herausfinden,
welche Funktionen einer Bibliothek tatsächlich benutzt werden. Entsprechend
können nicht verwendete Bibliotheksfunktionen entfernt werden und weitere
Spezialisierungen stattfinden [91].
Diese Techniken werden meist mit einer regelbasierten Auswahl der für das
jeweilige Betriebssystem benötigten Dateien kombiniert. Die Maßschneiderung
des Betriebssystems kann durch eine graphische Benutzerschnittstelle vereinfacht
werden, welche die eigentlichen Konfigurationstechniken vor dem Entwickler
verbirgt. Das VxWorks-Betriebssystem der Firma Wind River [590] wird beispielsweise über eine solche graphische Benutzerschnittstelle konfiguriert.
Eines der möglichen Probleme bei Systemen mit einer großen Anzahl abgeleiteter, maßgeschneiderter Betriebssysteme ist die Verifikation. Jedes einzelne
abgeleitete Betriebssystem muss sorgfältig getestet werden. Takada erwähnt dies
als ein mögliches Problem für eCos (ein Open Source-Echtzeitbetriebssystem der
Firma Red Hat [382]), das über 100 bis 200 Konfigurationsmöglichkeiten verfügt
[523]. Auch bei Linux ist das ein Problem [526]. Die Verwendung von Techniken
der Software-Produktlinienentwicklung [456] kann Ansätze liefern, um dieses
Problem zu lösen.
• Eingebettete Systeme nutzen eine große Vielfalt an Peripheriegeräten. Viele eingebettete Systeme besitzen weder Festplatte, Tastatur, Bildschirm oder Maus. Es
gibt kein Gerät, das von allen Varianten eines Betriebssystems unterstützt
werden muss, vielleicht mit Ausnahme des Systemzeitgebers. Anwendungen sind
oft dazu entworfen, bestimmte Geräte zu nutzen. In solchen Fällen müssen Geräte
nicht von verschiedenen Anwendungen gleichzeitig benutzt werden. Damit ist es
auch nicht erforderlich, dass das Betriebssystem diese Geräte verwaltet. Durch
die große Anzahl an Geräten wäre es auch schwierig, alle benötigten Gerätetreiber zusammen mit dem Betriebssystem zur Verfügung zu stellen. Daher ist es
sinnvoll, Betriebssystem und Geräte durch die Verwendung spezieller Prozesse
zu entkoppeln, anstatt die Gerätetreiber in das Betriebssystem zu integrieren.
Durch die begrenzte Geschwindigkeit vieler eingebetteter Systeme ist es auch
nicht notwendig, die Treiber aus Performanzgründen in das Betriebssystem zu
integrieren. Dies kann zu einer geänderten Anordnung der einzelnen Softwareschichten eines Systems führen. Bei PCs wird davon ausgegangen, dass bestimmte Treiber, wie solche für Festplatten, Netzwerkkarten, oder Audioausgabe,
stets verfügbar sind. Diese sind auf einer weit unten liegenden Schicht implementiert. Anwendungssoftware und Middleware sind oberhalb der AnwendungsProgrammierschnittstelle implementiert, wie es für alle Anwendungen üblich ist.
Bei einem eingebetteten Betriebssystem hingegen werden Gerätetreiber häufig
oberhalb des Kernels implementiert. Anwendungen und Middleware wiederum
Précédent

- 244/485

Suivant