sysiphus.de

Y2K - kann man Fehler kürzen?

Trust the computer industry to shorten "Year 2000" to Y2K. It was this kind of thinking that caused the problem in the first place.

Märchenstunde

In der Steinzeit der Computer gab es Dinge, die besonders aufwendig waren. Mitte der 50er Jahre ging man davon aus, daß weltweit ein Bedarf von 4-5 Computern bestehen würde.

Mitte der 60er und 70er Jahre wurden viele Programme, Programmiersprachen und Bibliotheken für Programmiersprachen entwickelt, die alle mit der Prämisse entwickelt wurden, möglichst wenig Speicher zu benötigen - Speicher war damals sehr teuer, die meisten Rechner hatten einen Arbeitsspeicher von wenigen Kilobyte. Eine einfache und gängige Methode war es, redundante Daten wegzulassen und an anderer Stelle einfach "anzunehmen, daß dem so sei". Die Jahrhundertsangabe wurde weggelassen und an anderer Stelle ging man einfach davon aus, daß es um das 20. Jahrhundert ginge. Man ging auch davon aus, daß man die Programme später daraufhin anpassen würde.

Wie üblich reisst sich um solche Jobs keiner - in einer vielleicht schon längst "ausgestorbenen" Programmiersprache geschriebenen Programme nach sehr versteckten Fehlern und fehlenden Anpassungen zu suchen ist keine besonders dankbare Aufgabe.

Und was passiert dann?

Die Auswirkungen des Jahr-2000-Problems sind kurz umrissen: Beim Wechsel ins Jahr 2000 gehen viele Rechner davon aus, daß 1900 das neue Jahr sei. Viele Rechner können sich das neue Jahrhundert nicht merken und springen auf ein Anfangsdatum zurück, etwa den 1.1.1980.
Da in alter Software oft auch nur mit den zweistelligen Werten gerechnet wird, können z.B. Verträge oder Haltbarkeitsdaten als längst abgelaufen gewertet werden.

Je nachdem, wie weit und wie ausgeprägt man diesen Gedanken nachvollzieht, können harmlose oder schwerwiegende Probleme auf uns zukommen. So gibt es bereits Websites, die sich damit beschäftigen, wie man sich für den "Worst Case" des Jahr 2000 vorbereitet: vier Wochen vor Jahresende genügend Bargeld von der Bank abholen, Nahrungsmittelkonserven lagern, einen Bunker in der Wüste bauen und sich dort mit Waffen vor der in Panik ausbrechenden Menschheit zu verschanzen, die einem explodiertem Atomkraftwerk entronnen sind.

Nur Computer?

Nicht nur Computer sind davon betroffen, auch viele "versteckte" Rechner wie die embeded-Systeme, wie man sie heute in jedem besserem Toaster, Videorekorder oder auch medizinischer Technik finden kann.
Wer einen Videorekorder kauft, sollte sich also ruhig schon einmal darum kümmern, ob man ihn noch in einem Jahr einsetzen kann. Die Herstellergarantie ist dann nämlich sehr wahrscheinlich abgelaufen ...

Computer!

Das Jahr-2000-Problem findet sich grob unterteilt an mehreren Stellen wieder:

  • BIOS und Rechnerhardware
  • Betriebssystem
  • Anwendungssoftware

Beim Entwurf des IBM PC 1981 wurde der Rechner als Terminal für IBMs Großrechner konzipiert, entsprechend wurden viel Sachen mit günstigeren Bauteilen eingeplant als man dies für einen reinen Arbeitsplatzrechner getan hätte. Beispiele hierfür sind z.B. BIOS und Echtzeituhr, die jahrelang nicht mit dem 21. Jahrhundert arbeiten konnten. Erst seit wenigen Jahren existieren überhaupt Konzepte dafür, wie man zur alten Technik kompatibel bleibt und gleichzeitig das Jahr-2000-Problem lösen kann.

Bei anderen Rechnern aus Anfang/Mitte der 80er Jahre hingegen hat man immer andere Echtzeituhren und BIOS-Programme verwendet, die diese Probleme nicht aufweisen. So kann der Atari ST bis zum Jahr 2037 korrekt mit dem Datum umgehen und der Apple Macintosh arbeitet sogar bis zum Jahr 29140 korrekt.

Betriebssystem

Redmond, WA -- Microsoft announced today that the official release date for the new operating system "Windows 2000" will be delayed until the second quarter of 1901.

Die nächste Hürde ist das verwendete Betriebssystem: so ziemlich jeder Rechner liest die Hardwareuhr beim Start des Rechners aus und verwaltet von da an die Uhrzeit und das Datum für seine eigenen Zwecke (Änderungsdatum einer Datei, etc) selbst. Auch Anwendungsprogramme bekommen vom Betriebssystem dieses "verwaltete" Datum geliefert und arbeiten daher mit diesen Daten.

Anwendungssoftware

Der schier unübersehbare Berg an Anwendungssoftware ist ein Problem für sich: einige Software interpretiert das vom Betriebssystem gelieferte Datum neu und macht dabei vielleicht einen Rechner für eine Anwendung Nicht-Jahr-2000-fest, obwohl Rechnerhardware und Betriebssystem es wären. Erst vor wenigen Wochen wurde z.B. ein Fehler in einer Bibliothek des Microsoft-C-Compilers entdeckt, der dafür sorgt, daß 1. und 8. April zum Wechsel der Sommerzeit im Jahr 2000 vertauscht werden. Von diesem Fehler sind einige Tausend sonst korrekt funktionierender Softwareprodukte betroffen - wie viele Software dann erst "richtige" Y2K-Probleme hat, kann man oft nur auf den Websites der Hersteller nachlesen. Da einige Y2K-Probleme auch erst im Jahr 2001 auftreten, sollte man auch die Kriterien der Softwarehersteller genauer überprüfen.

Sorgenfrei?

Apple rühmt sich seit Jahren dafür, nicht vom Jahr-2000-Problem betroffen zu sein, macht es sich dabei aber nicht allzu einfach: die Rechnerhardware und das Betriebssystem kommen sogar bis zum Jahr 29140 mit dem Datum zurecht und das Betriebssystem ist nach der Entwicklerdokumentation für jegliche Arbeit mit dem Datum zu verwenden. Eigentlich ist das Problem aus dieser Sicht auch gelöst. Leider gibt es in der Praxis einige Dutzend Programme, die sich nicht an das Betriebssystem halten und das Datum selbst bearbeiten - die Mac Y2K Heads-Up List nennt diese beim Namen.

Interessante Links

Anders Henke, 23.08.1999