Problem 2000/Besonders problematisch wird es bei den Servern

PCs segnen das Zeitliche: Datumsspruenge von irrer Weite

15.03.1996

Der erste Versuch galt meinem "Deskpro XL 133" von Compaq (Kandidat 1) - und schlug fehl. Das ist als Lob zu verstehen: Die befuerchteten Stoerungen blieben aus. Dieser Rechner versteht es, mit dem Jahrtausendwechsel umzugehen.

Ermutigt durch den ersten Versuch lag es nahe, sich anderer PCs anzunehmen; diesmal war es Dells "Optiplex GXMT 5120" (Kandidat 2). Dort war das Ergebnis des Tests schon eher im Sinne des Kurzberichts "Der PC als Zeitmaschine" in der CW Nr. 4 vom 26. Januar 1996, Seite 42, naemlich positiv. Folglich kann dieser Rechner ab dem Jahr 2000 nicht mehr fuer uns arbeiten.

Ein weiterer Test mit einem "Prolinea 590" von Compaq (Kandidat 3) erbrachte eine zusaetzliche Variante: Das Datum stellte sich auch ohne den Neustart des PCs auf den 04.01.1980! Mit dieser Erkenntnis versuchte ich, das Spiel bei dem Dell-PC zu wiederholen . . . und siehe da: Ohne einen Systemneustart gab mir DATE als Datum den 01.01.2000 an.

Diese Testergebnisse loesten bei mir einen "Interrupt" aus. Ich erinnerte mich an meine Zeiten als Programmierer von systemnahen DOS-Anwendungen und dachte mir, dass die Problembeschreibung in besagtem Artikel nicht ganz richtig sein kann. So zog ich saemtliche Register der "Programmierkunst" und schrieb ein kleines Tool, das sich das aktuelle Systemdatum aus dem BIOS holt.

Fuer den interessierten Leser ein kleiner Exkurs: MS-DOS gibt ueber den Interrupt 1AH mit dem Call AH:04H in den Registern CX und DX das Datum der Real Time Clock (RTC) zurueck. CH beinhaltet das Jahrhundert(!), CL das Jahr, DH den Monat und DL den Tag, wobei alle Ausgaben in BCD-Notation erfolgen.

Mit diesem Tool ging ich erneut auf die Jagd nach dem Jahr 2000. Kandidat 1 verhielt sich korrekt und gab mir ueber DATE und mein Tool den 01.01.2000 aus. Auch nach einem Neustart des Rechners aenderte sich nichts an der Antwort. Jetzt kam wieder Kandidat 3 zum Zuge, und was ich feststellte, uebertraf meine Erwartungen: DATE gab mir den 04.01.1980, und mein Tool teilte mir mit, dass das BIOS ueber den 01.01.1900 verfuegt! Was nun?

Nicht entmutigt durch diesen Fall widmete ich mich dem Kandidaten 2. Ich liess das Datum ohne Systemneustart auf den 01.01.2000 wechseln und war gespannt, was mein kleines Tool zu melden hatte. Obwohl ich mit allen Moeglichkeiten rechnete, war, was dabei herauskam, erstaunlich: 01.01.1900.

Nun war ich mit meinem Systemlatein am Ende und versuchte, mit einfachem Menschenverstand an die Sache zu gehen. Was war passiert?

Mein Tool kennt nur zwei Zustaende, 01.01.1900 (Kandidat 2 und 3) oder 01.01.2000 (Kandidat 1). DOS jedoch behauptet, drei Zustaende zu kennen: den 04.01.1980 - trotz 01.01.1900 im BIOS (Kandidat 3), den 01.01.2000 - trotz 01.01.1900 im BIOS (Kandidat 2) und den 01.01.2000 mit gleichem BIOS-Datum. Als logische Folgerung schloss ich auf die DOS-Versionen, was sich jedoch als truegerische Hoffnung erwies. Alle Rechner verfuegen ueber MS-DOS, Version 6.20.

Aber es gibt ja noch das SETUP, ueber das jeder PC verfuegt. Also machte ich die Probe aufs Exempel und startete bei allen Rechnern das besagte SETUP. Kandidat 1 blieb konsequent. Im SETUP meldet er das korrekte Datum des Jahres 2000.

Die beiden anderen Rechner jedoch uebertrafen abermals meine Vorstellungen. Das SETUP meldete zu Beginn, dass das Systemdatum falsch sei, und es wurde bei beiden Rechnern als Standardwert der 04.01.1980 gesetzt.

Aha, da gibt es also wieder das magische Datum. Kenner der PC- Szene werden mir nun erklaeren, dass dies normal sei. Ist es aber nicht, es gibt einen kleinen Unterschied. Jeder, der schon einmal die Erfahrung eines BIOS-Datenverlustes erlitten hat, wird es nachvollziehen koennen. Der BIOS-Standardwert fuer das Datum ist in der Regel der 01.01.1980. Nun hoert es aber ganz auf ... was soll man da noch glauben?

Ich wuerde sagen, wir einigen uns auf die erste Kalenderwoche 1980 als fruehestes PC-Systemdatum. Warum dieses Datum anzunehmen ist, ist recht einfach zu erklaeren: PCs beziehungsweise DOS erschienen erst nach diesem Datum, und damit ist dies die Stunde Null der PC- Geschichte. Alle anderen Zeitrechnungen, auch die von Papst Gregor, werden bei unseren geliebten PCs nie Einzug halten; wir beginnen mit dem Januar 1980.

Wie waere es denn, wenn sich die PC-Gemeinde dem Gregorianischen Kalender aus dem Jahre 1582 unterwerfen wuerde? Das waere doch sicherlich die einfachste Loesung. Oder erklaert Bill Gates nun auch noch den 04.01.1980 zum Standard? Oder wendet IBM als Erfinder des PCs gar den Spruch "It's not a bug, it's a feature" an und aendert den Gregorianischen Kalender?

Wie dem auch sei, zu klaeren ist, wer es mit diesem Problem zu tun bekommen wird.

Es gibt wohl drei Gruppen von PC-Benutzern, die sich damit auseinandersetzen muessen: 1. der "gemeine" Heimanwender mit Stand- alone-PC, 2. der Firmenmitarbeiter, der in einem Netzwerk arbeitet, und 3. der Betreuer von Netzwerk-Servern.

Anwender, die in einem Netzwerk arbeiten, werden das Problem in der Regel nicht bekommen, da deren PCs beim Anmelden im Netz automatisch das korrekte Datum vom Server uebernehmen. Dieses jedoch nur dann, wenn der Server ueber das richtige Datum verfuegt.

Hier sind nun die Betreuer der Server angesprochen. Wenn heute ein neuer Server angeschafft wird, kann es durchaus sein, dass die BIOS-Version nur eine zweistellige Jahreszahl kennt. Und es ist ebenso moeglich, dass der Server im Jahr 2000 noch aktiv ist.

Betrachtet man das Problem bei Novell-Servern, so kann es sich um Netware 3.1x oder um Netware 4.x handeln. Grundsaetzlich braeuchte dies keinen Betreuer in Panik geraten lassen, wenn er die Server ab dem Jahr 2000 nicht mehr neu starten muss. Dass es sich dabei jedoch mehr um einen Traum als um eine realistische Erwartung handelt, wird jeder Netzbetreuer wissen. Was kann also geschehen?

Ein einzelner 3.1x- oder 4.x-Server wird nach dem 1. Januar 2000 gebootet und erhaelt von seinem mangelhaften BIOS das falsche Datum. Zuvor war das Datum noch korrekt - auch nach dem Jahrtausendwechsel -, denn Netware verfuegt ueber eine Software-Uhr, die das BIOS nur einmal beim Systemstart abfragt. Probleme werden nur die Arbeitsstationen bekommen, denn die erhalten ja das falsche Datum von ihrem Server.

Wird das Datum am Server korrigiert, so werden auch die Stationen beim naechsten LOGIN wieder ueber das richtige Datum verfuegen. Klingt ja alles recht schoen, waeren da nicht die Netware-4.0x- Versionen. Hier eskaliert die Geschichte soweit, dass in den NDS - und damit fuer jeden Anwender - nichts mehr geht.

Die Netware Directory Services (NDS) setzen bei jeder Transaktion einen Zeitstempel und wissen somit, wie das Datum voranschreitet. Wird der Server nun mit einem Datum gestartet, das vor dem letzten Zeitstempel liegt, so verweigern die NDS - zumindest bei Netware 4.0x - den Dienst.

Ab Netware 4.1 mit der DS-Version 4.89 erzeugt ein solcher Vorfall lediglich so lange eine synthetische Zeit, bis das Datum des letzten Zeitstempels wieder erreicht ist.

Verfuegt ein Unternehmen ueber ein groesseres Netzwerk mit mehreren Netware-4.1-Servern, so sollte man pruefen, ob der Single- Reference-Server (der Zeitgeber) ueber ein funktionierendes BIOS verfuegt, oder dort eine Funkuhr einbauen, was uebrigens immer zu empfehlen ist. Gibt dieser Server das falsche Datum an die anderen Server weiter, so ist das Chaos abzusehen. Ein Single-Reference- Server hat naemlich immer recht: Alle Secondary-Server werden sich in puncto Datum ihm angleichen.

Ein neues BIOS oder ein neuer PC

Zurueck zu den verschiedenen Betroffenen. Da waere noch die letzte Gruppe, und zwar die Heimanwender mit ihren Stand-alone-PCs: Sie koennen eigentlich nur versuchen, mit dem Zustand zu leben oder ihr BIOS austauschen.

Somit sind wir auch schon am letzten Punkt angelangt, den zu ergreifenden Massnahmen, um im Jahr 2000 nicht auf "den Bauch zu fallen". Wie oben erwaehnt, gibt es die Moeglichkeit, das BIOS des Rechners auszutauschen, was jedoch recht kostspielig werden kann. Verfuegt der PC ueber ein Flash-BIOS, das sich softwaremaessig programmieren laesst, so hilft auch schon ein vom Hersteller angebotenes BIOS-Update aus Compuserve oder dem Internet.

Die letzte, aber auch einfachste Moeglichkeit besteht darin, nach dem Rechnerstart am 1. Januar 2000 am Prompt DATE einzugeben und das Datum zu korrigieren - jetzt rechnet das BIOS korrekt. Bleibt also nur zu hoffen, dass jeder Anwender bis dahin ueber einen neuen PC oder zumindest ueber einen PC mit korrektem BIOS verfuegt.

*Hans-Peter Brand ist Leiter der Pharma-DV bei der Boehringer Mannheim GmbH.