4.1 Eingebettete Betriebssysteme
227
• Das Betriebssystem muss das Scheduling der Prozesse durchführen. Scheduling kann definiert werden als die Zuordnung von Mengen von Prozessen auf
Intervalle der Ausführungszeit, mit dem Spezialfall der Abbildung auf bestimmte
Startzeiten. Möglicherweise muss das Betriebssystem auch Deadlines bestimmter Prozesse kennen. Es gibt aber auch Fälle, in denen das Scheduling komplett
zur Entwurfszeit stattfindet, dann muss das Betriebssystem nur Dienste bereitstellen, um Prozesse zu bestimmten Zeiten und auf bestimmten Prioritätsebenen
zu starten. Scheduling-Algorithmen werden detailliert in Kapitel 6 behandelt.
• Einige Dienste erfordern, dass das Betriebssystem Zeit verwaltet. Eine solche
Verwaltung ist unerlässlich, wenn die interne Abarbeitung mit einer absoluten Zeit
in der physikalischen Umgebung in Verbindung steht. Physikalische Zeit wird
durch reelle Zahlen beschrieben, Computer dagegen verwenden meist diskrete
Zeitangaben. Die jeweiligen genauen Anforderungen können dabei variieren:
1. Einige Systeme erfordern die Synchronisation mit globalen Zeitstandards.
Diese führen eine globale Uhrensynchronisation durch. Dafür existieren
zwei unterschiedliche Standards:
– Die Universal Time Coordinated (UTC): Die UTC wird durch astronomische Standards definiert. Dieser Standard muss von Zeit zu Zeit aufgrund
von Abweichungen der Erdbewegung angepasst werden. Beim Übergang
von einem Jahr auf das folgende werden dabei einige Sekunden hinzugefügt.
Diese Anpassungen können zu Problemen führen, da fehlerhaft implementierte Software davon ausgehen könnte, dass das folgende Jahr in derselben
Nacht zweimal beginnt.
– Die Internationale Atomzeit (französisch temps atomic internationale
(TAI)). Dieser Standard unterliegt nicht den oben beschriebenen Beschränkungen.
Die genaue Zeitinformation wird über eine Verbindung mit der Umgebung ermittelt. Externe Synchronisierung basiert dabei meist auf Funkübertragungsstandards, wie z.B. dem Globalen Positionierungs-System (GPS) [414], Mobilfunknetzwerken oder speziellen Langwellensendern zur Steuerung von Funkuhren [579]. Die Sender verbreiten eine Zeit auf der Basis von Atomuhren, in
Mitteleuropa mittels des DCF77-Systems.
2. Wenn eingebettete Systeme in einem Netzwerk eingesetzt werden, reicht es oft
aus, Zeitinformation innerhalb des Netzwerks zu synchronisieren. Hierfür kann
lokale Uhrensynchronisation zum Einsatz kommen. Damit können miteinander
verbundene eingebettete Systeme versuchen, eine einheitliche Zeitbasis zu
bestimmen.
3. Es kann zudem Fälle geben, in denen es lediglich notwendig ist, präzise lokale
Verzögerungen zu realisieren.
Einige Anwendungen benötigen präzise Zeitdienste mit einer hohen Auflösung.
Dies ist beispielsweise erforderlich, um zwischen ursprünglichen Fehlern und Folgefehlern in einem System unterschieden zu können. Diese können beispielsweise
dazu genutzt werden, um Kraftwerke zu identifizieren, die für einen Stromausfall
verantwortlich sind (siehe [428]). Die Genauigkeit von Zeitdiensten hängt davon
Précédent

- 247/485

Suivant