Jahr-2000-Problem

aus WB Wiki; freien Wissensdatenbank rund ums Thema Computer
Wechseln zu: Navigation, Suche

Das Jahr-2000-Problem ist das vor dem Jahreswechsel von 1999 auf 2000 befürchtete Problem, zahlreichen Programme, die Jahreszahlen nur zweistellig darstellen, könnten fehlerhaft arbeiten und weiträumige Systemausfälle und damit erhebliche Kosten verursachen.

Solche Programme unterstellen, dass der zweistelligen Jahreszahl immer eine »19« vorangeht. Bei der Weiterverarbeitung des Eintrags »00«, der als »1900« anstatt »2000« gedeutet wird, können schwerwiegende Fehler entstehen. Zum Beispiel wird die Differenz der Zahlenwerte »00« und »66« für die Jahre 2000 und 1966 negativ und kann zu einem Speicherfehler führen, wenn keine negativen Zahlen vorgesehen sind.

Da Jahreszahlen in sehr vielen Anwenderprogrammen eine Rolle spielen (z. B. bei Datenbanken zur Adress- und Terminverwaltung), wurden v. a. in Unternehmen mit weit verzweigten Software-Systemen große Anstrengungen unternommen, Systemausfälle zu verhindern, was entweder durch Überprüfung und Korrektur der betreffenden Programme (»Rework«) oder durch Ersetzen der Software erfolgte (»Replace«). Tatsächlich traten zum Jahreswechsel (und auch in den Monaten danach) in Unternehmen nur wenige und keine folgenschweren Ausfälle auf. Auch private Computer wurden nur in seltenen Fällen und nicht ernsthaft betroffen. Hauptauswirkung des Jahr-2000-Problems war ein bis zum Jahreswechsel 2000 anhaltender Boom beim Verkauf betriebswirtschaftlich nutzbarer Software. Viele Firmen nutzten die Möglichkeit, ihre elektronische Verwaltung zu modernisieren.

Die Ursachen des Jahr-2000-Problems gehen bis in die 1960er-Jahre zurück. Damals war RAM-Speicher so teuer, dass auf jede überflüssig erscheinende Angabe verzichtet wurde. Außerdem rechnete niemand damit, dass die damals entwickelte Software bis zum Jahr 2000 Bestand haben würde. Tatsächlich bauten neuere Programme aber auf älterer Software auf und übernahmen oft Teile als Maschinencode. Dadurch war nicht mehr sicher nachvollziehbar, ob bestimmte Anwendungen den sog. Millenium-Bug enthielten oder nicht. Vielfach wurden ehemalige Programmierer aus dem Ruhestand zurückgerufen, um ihre alten Programme zu analysieren.

Drei weitere Kalenderdaten verursachen Probleme bei manchen Programmen: Zum einen der 9. September 1999, da in der Vergangenheit der 9.9. 99 ein allgemein gebräuchlicher Standardwert für Verfalldaten in nicht absehbarer Zukunft war. An diesem Tag liefen alle Anwendungen, bei denen dieser Standardwert eingesetzt wurde, ab. Zum Zweiten der 29. Februar 2000, da vielen Programmierern nicht geläufig war, dass das Jahr 2000 nach dem gregorianischen Kalender ein Schaltjahr ist. Zum Dritten der 19. Januar im Jahr 2038 (Jahr-2038-Problem) um 3:14:08 Uhr. Zu diesem Zeitpunkt läuft bei Unix-32-Bit-Systemen (Unix) der Zeitzähler über, denn die Sekunden werden beginnend am 1. Januar 1970 fortlaufend gezählt, und ihre Anzahl wird in einer vorzeichenbehafteten, nur 32 bit langen Ganzzahl abgelegt.