 |
|
Linux und das Jahr 2000
Unix und Linux, d.h. kernel- und hardwarenahe Werkzeuge und der Kernel selbst, speichern Daten
nicht in einem zweistelligen Format. Die Zeit wird in Sekunden seit dem Neujahrstag 1970 gezählt.
Ein 32-Bit-System, wie z.B. Linux es ist, hat dadurch eine eindeutige Zeitrechnung bis zum Jahr
2038. Aufgrund der Vielzahl der Programme ist eine pauschale Aussage zur Jahr-2000 Konformität
der Distributionen nicht zu machen, vielmehr müssen der Linux-Kernel, die C-Libraries sowie alle
Programme der Distributionen einzeln untersucht werden.
Aktuelle Linux-Kernel sind Jahr-2000 konform. Der Kernel liest beim Booten das aktuelle Datum aus
dem CMOS-RAM des Rechners aus (Voraussetzung ist ein Jahr-2000 konformes Rechner-BIOS). Dabei wird
das Jahrhundertbyte nicht ausgewertet sondern einfach der Wert 1900 addiert, wenn das Jahresbyte
größer oder gleich 70 ist, andernfalls wird der Wert 2000 addiert. Vom Linux-Kernel wird während
der Laufzeit diese Zeitangabe in Sekunden ab dem 1.1.1970 in einer 32-Bit Binärzahl gespeichert.
Mit diesem System kann man problemlos Zeitangaben bis zum Jahr 2038 erfassen. Für Datumsangaben
über das Jahr 2038 hinaus kann der Kernel mit einer 64-Bit Datumsvariablen kompiliert werden.
Damit sollten dann Datumsangaben bis zum Ende des Universums möglich sein.
|
|