Das war ein Programmierfehler in der Navigationssoftware, was interessieren da Echtzeitsysteme.
@alle die es interessiert:
Wie kann die Datumsgrenze die Nav-Software abstürzen lassen?
Natürlich gibt es eine Menge Möglichkeiten, aber um dem Durchschnittscomputernutzer mal klar zu machen, worum es hier geht, nehme ich mal eine Möglichkeit aus dem Betriebssystembereich.
1. Was ist ein Echtzeitsystem?
Bei dynamischen Systemen mit Computersteuerung kommt es, im Gegensatz zum Desktop PC, darauf an, bestimmte Eingabewerte möglichst zeitnah mit Ausgaben zu verknüpfen. Nach einer gewissen Zeit verliert die Ausgabe ihren Wert. Mal ganz allgemein gesprochen. Paradebeispiel ist hier der Airbag, wenn der Chip nicht noch vor dem Aufprall des Kopfes auf dem Lenkrad entscheidet, ob der Airbag geöffnet werden soll, dann kann er es auch lassen. Es gilt also Zeitgrenzen einzuhalten. Wenn diese Zeitgrenzen zwischen Anfang der Berechnung und Ende nicht eingehalten werden und der Ausgabewert daraufhin sofort völlig wertlos ist, spricht man von harten Echtzeitsystemen (bei kontinuierlichem Wertverlust von weichen).
2. Wo ist das Problem?
Früher hatte man relativ einfache Systeme, die ein Programmierer relativ leicht überblicken konnte. Einfach gesprochen: Es gab einen Chip und ein Programm. Die Ausführungszeit konnte man dann einfach anhand Chiptaktung und Befehlszahl ausrechnen. Heutzutage sieht die Sache komplizierter aus: Es gibt meist wenige Ressourcen (Prozessoren, Bus, etc.), um die einige Prozesse konkurrieren. Um die Prozesse nun auf die Ressourcen zu verteilen und die Echtzeitanforderungen zu erfüllen, werden die Prozesse verwaltet (scheduling). Das kann durch einen priviligierten Prozess oder ein Abstimmungsprotokoll der beteiligten Prozesse erfolgen. Insbesondere wenn verschiedene Geräte über einen Bus miteinander kommunizieren, verwendet man gerne entsprechende Protokolle. Ein gutes und interessantes Beispiel ist der Canbus aus der Automobiltechnologie. Hier stimmen sich die Geräte über eingebaute Uhren über ihre Zugriffszeiten auf den Bus ab um z.B. dafür zu sorgen, dass die Ergebnisse des Navigationscomputers rechtzeitig mit den Daten des GPS Systems versorgt werden.
3. Was kann passiert sein?
Angenommen, der Navigationscomputer beteiligt sich an dem Busprotokoll. Dazu teilt er in regelmäßigen Abständen seine Systemzeit den anderen Geräten mit, damit die untereinander die natürlichen Abweichungen ihrer Quarztkristalle ausgleichen können (sie einigen sich quasi auf eine durchschnittliche Uhrzeit). Diese Differenzen werden normalerweise in Form von Offsets gespeichert, die auf die eigene Uhrzeit addiert werden. Wenn der Navigationscomputer aber seine Uhrzeit durch den Überflug der Datumsgrenze ändert, ergibt sich ein riesiger Unterschied zu den anderen Geräten am Bus. Jetzt kann, je nach Protokoll, alles mögliche passieren. Denkbar ist zum Beispiel, dass jetzt der Navigationscomputer den Bus für 24h anforderte und somit alle anderen Geräte von der Kommunikation abhielt. Auf jeden Fall ist der normale Gang der Dinge plötzlich gestört.
Noch Fragen

Einen Kommentar schreiben: