Thema: PC-Uhren und Eignungstests für das Jahr 2000.


Lösung:

Mit dem Näherrücken des Jahres 2000 hat Gateway™ sich zum Ziel gesetzt, seine Kunden bei den Vorbereitungen auf den Jahreswechsel zu unterstützen. Gateway™ hat das Problem eingehend untersucht, Lösungen getestet und implementiert, sowie seine gesamte Unterstützung für das Jahr 2000 dokumentiert.

Darin wird bestätigt, dass alle Gateway™ Computer, die nach dem 1. Januar 1997 eingeführt und verkauft wurden, für das Jahr 2000 geeignet sind. Computer, die vor 1997 verkauft wurden und mit dem Intel® Pentium®-oder Pentium® Pro-Prozessor ausgestattet sind, sind ebenfalls für das Jahr 2000 geeignet. Darüber hinaus enthält das Dokument auch leicht durchzuführende Lösungen für Kunden, die ältere Rechner, ausgestattet mit Intel® i486-Prozessoren, verwenden. Zur Ergänzung unserer Erklärung und als zusätzliche Informationsquelle hat Gateway™ das nachstehende Dokument PC-Uhren und Eignungstests für das Jahr 2000 zusammengestellt. Es beschreibt verschiedene Lösungsmöglichkeiten zur Jahr-2000-Problematik und erklärt, warum die am BIOS ansetzenden Lösungen die effizientesten sind und wie Gateway™ die BIOS-Lösung in seinen PCs implementiert und getestet hat.

PC-Uhren

Um die Tests und Lösungen für das Jahr 2000 besser zu verstehen, ist es wichtig zu wissen, wie Zeitangaben in einem Computer-System verwaltet werden. So enthält jedes PC-System zwei Hauptuhren: die Echtzeituhr und die Betriebssystem-Uhr. Die Echtzeituhr ist in den CMOS-Chip der Systemplatine eingebaut. Diese Bauweise wurde zum ersten Mal in den frühen Achtziger Jahren im IBM AT-Computer implementiert und zum Industriestandard für AT-kompatible PCs ernannt. Diese Echtzeituhr enthielt den Motorola-Chip MC146818, auf dem die beiden letzten Ziffern der Jahreszahl (Jahrzehnt und Jahr) gespeichert waren. Die Angabe des Jahrhunderts wurde nur als Datenpunkt in einem separaten Speicherabschnitt des Chips (Position 32h oder später, bei der PS/2-Maschine, Position 37h) gespeichert. Um Kosten und Programmieraufwand zu minimieren, wurden diese Jahrhundertangaben nicht direkt in die Uhrfunktionen der Echtzeituhr integriert. Das vollständige Datum bildete (und wird immer noch gebildet) durch die Kombination der letzten beiden veränderlichen mit den fest eingespeicherten ersten Ziffern des Jahres. Hierin liegt die eigentliche Ursache des Jahr-2000-Problems. Das heisst, PCs, die keine Datumskorrektur einprogrammiert haben, werden zum Jahreswechsel zwar die letzten beiden Ziffern von "99" zu "00" weiterzählen, doch die Angabe des Jahrhunderts wird immer noch "19" lauten, so dass falsche Ergebnisse geliefert werden.

Die zweite Uhr in einem Computer-System ist die Betriebssystem-Uhr. Anders als die Echtzeituhr sind die meisten Betriebssystem-Uhren (und alle Betriebssystem-Uhren von Gateway™) in der Lage, vierstellige Jahreszahlen zu verarbeiten. Die Betriebssystem-Uhr läuft nur, wenn der Rechner eingeschaltet ist. Nach ihrer Initialisierung läuft sie unabhängig von der Echtzeituhr. Wichtiger ist jedoch die Tatsache, dass die Betriebssystem-Uhr der Bezugspunkt für Anwendungsprogramme ist, die das aktuelle Datum verwenden oder verwalten.

Die Betriebssystem-Uhr und die Echtzeituhr hängen dabei folgendermassen zusammen: Wenn der Rechner zum ersten Mal eingeschaltet wird, übernimmt die Betriebssystem-Uhr das Datum von der Echtzeituhr. Das kann auf zwei Arten geschehen: entweder durch direkten Zugriff auf die Echtzeituhr oder durch Verwendung des BIOS-Interrupts 1Ah für den Abruf der Daten. Der direkte Zugriff ist weniger effizient, da die Jahrhundertangabe sich je nach PC-Ausführung an Position 32h oder 37h befinden kann. Der Zugriff auf Datumsinformationen über das BIOS ermöglicht dagegen dem Entwickler, jede PC-Ausführung zu verwenden. Aus diesem Grund wurde der BIOS-Ansatz zum Standard bei der Betriebssystem-Entwicklung . Die übliche Praxis bei der Entwicklung von Anwendungsprogrammen baute auf dieser Grundlage auf. Das bedeutet, diese Anwendungsprogramme beziehen ihr Datum in der Regel von der vierstelligen Betriebssystem-Uhr, anstatt es direkt von der Echtzeituhr abzurufen.

Lösungsmöglichkeiten für das Jahr 2000

Zur Lösung der Jahr-2000-Problematik hat Gateway™ mehrere Möglichkeiten untersucht, unter anderen Software-Korrekturen, Hardware-Änderungen an der Echtzeituhr und BIOS-Änderungen.

Software-Korrekturen, wie z. B. TSR-Programme (Terminate-Stay-Resident), arbeiten "im Hintergrund" des PCs und überprüfen in regelmässigen Abständen die Echtzeituhr auf ein ungültiges Datum (z. B. 1900), um es gegebenenfalls zu korrigieren. Diese TSR-Programme waren zwar kostengünstig, aber es war damit nicht garantiert, das Problem vollständig zu lösen. Hinzu kommt, dass bei modernen Betriebssystemen, wie z. B. Windows NT (3.x und höher) und OS/2, die Installation von diesen Programmen nicht möglich ist. In Betriebssystem-Umgebungen, in denen TSR-Programme eingesetzt werden können, ist eine Verringerung der Systemleistung möglich. Zudem kann ein TSR-Programm als Software-Lösung mit anderer installierter Software kollidieren und möglicherweise von dieser deaktiviert oder überschrieben werden. Aus diesen Gründen hat Gateway™ entschieden, keine TSR-Programme als primäre Lösung für das Jahr 2000 zu verwenden.

Gateway™ hat als Problemlösung auch die Möglichkeit in Betracht gezogen, die Ausführung der Echtzeituhr zu ändern. Dieser Ansatz erwies sich als nicht praktikabel. Die Veränderung der Echtzeituhr bedeutet eine Kostenerhöhung und kann mit einer Leistungsverminderung verbunden sein. Eine neue Echtzeituhr würde eine Neuentwicklung erfordern und möglicherweise die Kompatibilität mit bestehenden Software-Paketen gefährden. Ausserdem kann eine Neuentwicklung für die Benutzer vorhandener Installationen eine komplizierte und kostspielige Aufrüstung nach sich ziehen. Aus diesen Gründen hat Gateway™ diesen Ansatz ebenfalls verworfen.

Vielmehr hat sich die Modifizerung des BIOS zur Korrektur der Datumsberechnung nach dem Jahr 2000 als sichere und praktikable Lösung erwiesen. Da Betriebssysteme in der Regel über das BIOS auf Datumsinformationen zugreifen, würde eine BIOS-Korrektur die Betriebssystem-Uhr korrigieren, von der Anwendungsprogramme in der Regel ihr Datum beziehen. Ausserdem kann das BIOS, anders als die Echtzeituhr und das CMOS, leicht aktualisiert werden. PC-Ausführungen von Gateway™ schliessen seit 1993 Flash-BIOS-Versionen ein, die den vorhandenen Kunden einen einfachen Weg zur Aufrüstung bieten. Infolgedessen wurde das BIOS der zentrale Ansatzpunkt für die Lösung des Jahr-2000-Problems. Nahezu alle PC-Hersteller arbeiten heute mit diesen Ansatz.

Die BIOS-Lösung

In Computern, die mit dem Intel Pentium®-Prozessor ausgestattet sind (verkauft ab November 1993) enthalten die BIOS-Chips von Gateway™ die notwendige Logik, um die Beschränkungen der Datumsverarbeitung durch die Echtzeituhr zu kompensieren und das Jahr 2000 ordnungsgemäss zu verarbeiten. Dieser Prozess läuft folgendermassen ab:

In Gateway™ Systemen, die mit dem Pentium-Prozessor (und seinen Nachfolgern) ausgestattet sind, wurde das BIOS mit Hilfe einer "Fenstertechnik" entwickelt, um Datumsangaben im 20. und 21. Jahrhundert verarbeiten zu können. Das BIOS prüft die zweistellige Jahreszahl in der Echtzeituhr und wandelt sie dann in eine vierstellige Jahreszahl für das Betriebssystem um. Wenn die zweistellige Jahreszahl der Echtzeituhr grösser oder gleich 80 ist, wird das vollständige Datum als Jahreszahl im 20. Jahrhundert gelesen (z. B. 1980, 1981 usw .) und so an das Betriebssystem weitergegeben. Wenn das Datum der Echtzeituhr jedoch kleiner als 80 ist, wird es als Jahreszahl im 21. Jahrhundert gelesen (z. B. 2079). Das System-BIOS gibt einen Aufruf an die in der Echtzeituhr gespeicherten Jahrundertangaben aus (bei Gateway™ PC's in Position 32h), ändert die Daten in "20", und gibt die korrekte vierstellige Jahreszahl an das Betriebssystem zurück.

Tests

Gateway™ verwendet zahlreiche Tests, um die Eignung seiner Computer für das Jahr 2000 zu testen, unter anderen die Microsoft Millennium-Testfolge und die Software YMARK2000 von NSTL. Es gibt eine Vielzahl von Tests, die zuverlässig und genau sind. Glaubwürdigkeit und Genauigkeit sind jedoch von entscheidender Bedeutung für die Bewertung und Lösung des Jahr-2000-Problems. Gateway™ ist dabei von der Zuverlässigkeit des NSTL-Tests YMARK2000 überzeugt. NSTL ist ein unabhängiges Testunternehmen mit fünfzehn Jahren Erfahrung, dessen Testprogramm YMARK2000 von vielen grossen PC-Herstellern angewandt wird. Dieser Test kann - im Gegensatz zu anderen Testanbietern - kostenfrei von der Web-Site http://www.nstl.com/index.html heruntergeladen werden.

Es ist zu beachten, dass z. T. angebotene Test-Software PCs als nicht Jahr-2000-fähig ermittelt, obwohl diese den YMARK2000-Test von NSTL bestehen. Die von Gateway™ untersuchten Software-Tests verwenden keine herkömmlichen Methoden, um die korrekte Verarbeitung des Datums zu prüfen. Sie ignorieren die Logik zur Datumskorrektur im BIOS und prüfen direkt das Datum der Echtzeituhr. Bei jedem PC, der dem IBM AT-Standard entspricht, führt diese Testmethode praktisch zum Ergebnis "ungeeignet". Im Gegensatz zu diesen Tests hat Gateway™ bei der Bewertung kommerzieller Anwendungsprogramme festgestellt, dass diese nicht über die Echtzeituhr auf Datumsinformationen zugreifen. NSTL hat diesen Punkt ebenfalls eingehend untersucht und seine Ergebnisse in dem technischen Weissbuch Testing the Real Time Clock vs. the BIOS (Test der Echtzeituhr gegenüber dem BIOS) zusammengefasst, mit der Schlussfolgerung, dass ein direkter Test der Echtzeituhr nicht präzise nachbildet, wie Anwendungsprogramme auf Datumsinformationen zugreifen oder wie der PC arbeitet. Weitere Informationen dazu finden Sie auf der Web-Site von NSTL unter http://www.nstl.com/html/y2k_rtc_and_bios.html.

Produkteignung

Aufgrund der erfolgreichen Absolvierung des NSTL-Tests YMARK2000 haben Gateway™ Computer die Genehmigung erhalten, das NSTL-Zeichen "Year 2000 Compliant" (Jahr-2000-fähig) zu tragen. Alle Gateway™ Computer, die nach dem 1. Januar 1997 eingeführt und verkauft wurden, sind für das NSTL-Zeichen "Year 2000 Compliant" qualifiziert, ebenso alle Gateway™ Computer, die vor 1997 verkauft wurden und mit dem Intel® Pentium®-Prozessor ausgestattet sind. Die Gateway™ Tests bestätigen, dass die Hardware gemäss den Industriestandards Datumsinformationen an die Software weitergibt. Ausserdem ist bei diesen Gateway™ Systemen die korrekte Datumsverarbeitung in unserer Standardgewährleistung eingeschlossen. Nähere Einzelheiten dazu finden Sie in dem Dokument Unterstützung für das Jahr 2000 durch Gateway™

Software und Hardwaregarantien

Computer, die mit dem Intel® i486-Prozessor ausgestattet sind, müssen das Datum zurücksetzen, wenn der Rechner im neuen Jahr zum ersten Mal neu gestartet oder eingeschaltet wird. Dies ist eine einmalige Korrekturmassnahme, die leicht durchzuführen ist, indem die entsprechenden DOS-Befehle zum Zurücksetzen der Echtzeituhr eingegeben werden. Anweisungen zum Zurücksetzen der internen Uhr sind im Anhang enthalten.

Für die Software garantieren wir, dass Gateway™ Hardware präzise Datumsangaben in Übereinstimmung mit allgemeinen Industriestandards liefert. Sobald jedoch das Gateway™ BIOS die Datumsangabe an die Software weitergegeben hat, kann Gateway™ nicht dafür garantieren, dass die Software eines Fremdherstellers alle Datumsabgleiche korrekt durchführt. Dies ist eine direkte Funktion der Software-Ausführung, die nicht unserer Kontrolle unterliegt und für die wir kein Urheberrecht haben. Aber auch Software-Anbieter haben sich beim Entwickeln und Testen ihrer Produkte mit der Jahr-2000-Problematik auseinandergesetzt, und fast alle bieten vollständige Informationen dazu unter ihrer Web-Site. Bei besonders kritischen Anwendungsprogrammen empfiehlt Gateway™ seinen Kunden, sich direkt mit dem Software-Hersteller in Verbindung zu setzen, um die Eignung des Produkts für das Jahr 2000 zu prüfen. Dies gilt insbesondere für kundenspezifische Software, deren Ausführung möglicherweise nicht herkömmliche Elemente enthält. Wenn somit ein kundenspezifisches Anwendungsprogramm die Echtzeituhr direkt abfragt, um das Datum zu erhalten, wird es im Jahr 2000 nicht das korrekte Datum abrufen, falls die Echtzeituhr nicht zurückgesetzt wird (siehe Anweisungen im Anhang).

Zusammenfassung

Nach der Auswertung zahlreicher Möglichkeiten ist Gateway™ der Ansicht, dass eine Aufrüstung des System-BIOS die zuverlässigste und effizienteste Korrektur zur Problemlösung darstellt. Dieser Ansatz, der zuerst 1993 in den Gateway™-PCs verwirklicht wurde, gewährleistet für den Kunden Präzision und Kompatibilität mit den Industriestandards. Zur Prüfung verwendet Gateway™ den Test YMARK2000 von NSTL. Alle unsere Systeme der jüngsten Zeit tragen von NSTL das Zeichen "Year 2000 Compliant" (Jahr-2000-fähig). Gateway™ wird weiterhin alle Systeme testen und zusätzliche Möglichkeiten für seine Kunden untersuchen.

Gateway™ erstellte diese Jahr 2000 Erklärung in Übereinstimmung mit dem British Standards Institute DISC PD2000-1:1998.

Verweise und zusätzliche Informationsquellen:

NSTL: Year 2000 Compliance and the Industry Standard Personal Computer (Eignung für das Jahr 2000 und der Industriestandard für PCs) unter http://www.nstl.com/html/nstl_y2k_resources.html.

NSTL: Testing the Real Time Clock vs. the BIOS (Test der Echtzeituhr gegenüber dem BIOS) unter http://www.nstl.com/html/nstl_y2k_resources.html.

Anhang A.

Anweisungen zum Zurücksetzen der Echtzeituhr

Bei Systemen, die mit dem Intel® i486-Prozessoren ausgestattet sind, kann die Echtzeituhr leicht anhand der nachstehenden Anweisungen zurückgesetzt werden. Sobald dies durchgeführt ist, wird das Datum von 486-Systemen ordnungsgemäss verarbeitet, und zwar bei jedem späteren Systemstart. Systeme mit DOS 6.x / Windows 3.x: · Falls noch nicht geschehen, starten Sie Ihr System nach dem Jahreswechsel zum Jahr 2000. · Wenn Sie mit Windows arbeiten, beenden Sie Windows, indem Sie im Programm-Manager die Optionen Datei, Windows beenden auswählen. · Geben Sie hinter der DOS-Eingabeaufforderung folgenden Befehl ein: C:\> date 01-01-2000 Das Datumsformat ist Tag/Monat/Jahr. · Drücken Sie Enter, und geben Sie Win ein, um Windows neu zu starten.

Systeme mit Windows 95:

  • Falls noch nicht geschehen, starten Sie Ihr System nach dem Jahreswechsel zum Jahr 2000.
  • Sobald Sie sich im Windows 95 Desktop befinden, starten Sie den Computer im MS-DOS-Modus neu. Wählen Sie dazu Starten und anschliessend Herunterfahren aus. Klicken Sie auf Computer im MS-DOS-Modus starten und dann auf Ja.
  • Hinter dem DOS-Bereitschaftszeichen geben Sie folgenden Befehl ein:

C:\> date 01-01-2000

  • Das Datumsformat ist Tag/Monat/Jahr. Drücken Sie die Enter, und geben Sie Exit ein, um zu Windows 95 zurückzukehren.