>Info zum Stichwort Problem | >diskutieren | >Permalink 
the-music-man schrieb am 24.4. 2009 um 10:03:34 Uhr über

Problem

Das Jahr-2038-Problem könnte zu Softwareausfällen im Jahr 2038 führen. Dieses Problem ist auf EDV-Systeme beschränkt, die den POSIX-Zeitstandard benutzen und time_t als 32-Bit-Binärzahl definieren.

POSIX zählt die seit dem 1. Januar 1970 abgelaufene Zeit in Sekunden. Am 19. Januar 2038 um 03:14:08 Uhr UTC wird die Anzahl der vergangenen Sekunden die Kapazität einer 31-Bit-Zahl (maximal 2147483647) überschreiten. Das signifikanteste Bit wird laut Konvention dazu verwendet, positive und negative Zahlen zu unterscheiden (Vorzeichen im Zweierkomplement), so dass die Zählung bei einer Überschreitung des Wertes 2147483647 (binär 1111111111111111111111111111111) in den negativen Bereich springt (z.B. 2147483648 binär 10000000000000000000000000000000). Dies führt bei einer ungenügendend implementierten Konvertierung von Unixtime zu Datum und Uhrzeit ungewollt zu einem Wert vor Epoche (1. Januar 1970). Dieses Problem wird in der Softwareentwicklung als Zählerüberlauf (Counterwrap) bezeichnet.

Im Vergleich zum Jahr-2000-Problem, welches im Wesentlichen beim Datumsstempel von Dateien auftrat, führt das Jahr-2038-Problem zu Fehlern bei elektronischen Transaktionen, die die Unixzeit als Zeitstempel verwenden. Ohne Gegenmaßnahmen könnten die wirtschaftlichen Auswirkungen verheerend sein, zumal im Banken- und Versicherungsumfeld Unix-Systeme neben Mainframes zur Standardausstattung gehören.

Ein Beispiel für typische Jahr-2038-Fehler sind Transaktionen, deren Gültigkeit vom Zeitstempel des Ergebnisfeldes abgeleitet wird. Ist das Ergebnis nicht jünger als die Ausgangsdaten, so wird weiterhin auf ein gültiges Ergebnis gewartet oder die Transaktion irgendwann automatisch neu angestoßen. Am Stichtag des Jahr-2038-Problems werden allerdings sämtliche Ergebnisse den vermeintlichen Zeitstempel Dezember 1901 tragen, sind also immer älter als die Eingabedaten. Wartende Programme geraten so leicht in Endlosschleifen, was sich für den Endbenutzer in „abgestürzten“ Anwendungen äußert – z. B. ein Geldautomat, der ewig auf die elektronische Bestätigung der Kontenabbuchung wartet, bevor er Geld ausgibt.


   User-Bewertung: /
Versuche nicht, auf den oben stehenden Text zu antworten. Niemand kann wissen, worauf Du Dich beziehst. Schreibe lieber einen eigenständigen Text zum Thema »Problem«!

Dein Name:
Deine Assoziationen zu »Problem«:
Hier nichts eingeben, sonst wird der Text nicht gespeichert:
Hier das stehen lassen, sonst wird der Text nicht gespeichert:
 Konfiguration | Web-Blaster | Statistik | »Problem« | Hilfe | Startseite 
0.0530 (0.0486, 0.0031) sek. –– 979495715