Moderne Computer könnten am 19. Januar 2038 aufhören zu arbeiten

Im Jahr 2038 könnten die meisten modernen Computer aufhören zu arbeiten, wenn wir uns nicht darauf vorbereiten. Das liegt nicht an einem massiven Virus oder an nachlassender Hardware, sondern daran, wie Computer die Zeit messen.

Nahezu jeder Computer misst die Zeit mit einem 32-Bit-Prozessor und zählt von 00:00:00 UTC am 1. Januar 1970, der so genannten „Epoche“, vorwärts. Dieser Zeitpunkt wurde als Standard für moderne Rechensysteme festgelegt, aber es gibt ein großes Problem. Sieben Sekunden nach 3:14 Uhr UTC am 19. Januar 2038 werden dem 32-Bit-System, das diese Zeitdaten in vielen Computern speichert, die Positionen ausgehen.

Das Problem ähnelt dem Jahr-2000-Problem, bei dem ein zweistelliger Wert nicht mehr verwendet werden konnte, um die Jahre 2000 oder später zu kodieren, unterscheidet sich aber insofern, als dieser 32-Bit-Fehler mit Unix-ähnlichen Systemen und dem Unix-Zeitformat zusammenhängt.

Diese Ähnlichkeiten mit dem Jahr-2000-Problem haben weithin dazu geführt, dass das 2038-Problem als Unix-Millennium-Bug bekannt ist.

Der Unix-Millennium-Bug

Prozessoren, auf denen 32-Bit-Software läuft, können 232 verschiedene Werte oder 4.294.967.295 verschiedene Zahlen in 4 GB Speicher verarbeiten. Diese Systeme speichern Daten und Zeiten in 32-Bit-Blöcken. In der Realität wird diese große Anzahl unterschiedlicher Werte für die Zeitmessung und andere Datenspeicheranwendungen halbiert. Damit bleiben 2.147.483.647 positive Werte übrig, in denen Daten gespeichert werden können.

Das bedeutet, dass die letzte Zeit, die im 32-Bit-Timecode von Unix dargestellt werden kann, 231-1 oder 2.147.483.647 Sekunden nach dem 1. Januar 1970 ist. Zeiten, die nach diesem Punkt liegen, werden als negative Zahlen gespeichert. Das liegt daran, dass das Speichersystem keine ganzen Zahlen mehr modulieren kann, so dass nur noch das Vorzeichen geändert werden kann. Computer interpretieren dies dann als den 13. Dezember 1901 und so weiter, und nicht als das tatsächliche Datum.

Das mag sich nicht nach einer großen Sache anhören, aber denken Sie an all die Möglichkeiten, wie wir Software verwenden. Wenn Sie Lizenzen mit Zeitstempeln haben, könnten Sie plötzlich den Zugang zu wichtigen Arbeitsdokumenten, Finanzinformationen und vielem mehr verlieren.

Probleme werden nicht erst im Jahr 2038 auftreten, sondern jede Software, die mit zukünftigen Daten arbeitet, muss bald repariert werden. Programme, die mit Daten arbeiten, die 20 Jahre in der Zukunft liegen, wie z. B. Investmentfonds und fortschrittliche Terminplanungsprogramme, müssen spätestens 2018 korrigiert werden.

All dies mag nach einer einfachen Lösung klingen, man muss nur das Enddatum der Speichermethode ändern, aber so einfach ist es nicht. Computeringenieure, die für Spiele und Apps mit Wartezeiten verantwortlich sind, haben bereits Probleme, wenn sie Daten nach dem 19. Januar 2038 kodieren. Da es sich bei der Speichermethode um 32-Bit-Unix handelt, ist es für die Programmierer von Drittanbietern unmöglich, Daten nach diesem Zeitpunkt zu kodieren.

VERWANDT: 12 ÄLTESTE WEBSITES AUS DEN 1980ERN UND 90ERN, DIE HEUTE NOCH ONLINE SIND

Aber was soll’s, werden Sie fragen. Die Daten werden geändert, die Programmierer rechnen bereits mit diesen Problemen, und eventuelle Probleme werden nicht in Panik ausbrechen, sondern schnell behoben werden. Nun, das stimmt nicht ganz.

Transportsysteme, einschließlich Flugausrüstung und moderne Autos, verwenden eingebettete Software, die oft unangetastet bleibt. Fast alles in modernen Autos wird von der ECU oder dem Bordcomputer gesteuert, der Unix-Zeitmessung verwendet, um Daten und Zeiten zu verfolgen. Das bedeutet, dass dieser Fehler möglicherweise ABS-Bremssysteme, elektronische Stabilitätskontrollen, Traktionskontrollen und GPS-Systeme unterbrechen könnte; sie alle könnten erheblich beeinträchtigt werden.

Alle diese Systeme benötigen keinen Zugriff auf Daten, um zu funktionieren, aber einige schon, und es ist schwer zu wissen, welche mit datumsabhängigem Code programmiert wurden.

So, was ist die Lösung? Es gibt keine einfache Lösung.

Eingebettete Systeme wie die in Autos und Haushaltsgeräten sind so konzipiert, dass sie ohne Software-Update über den gesamten Lebenszyklus des Geräts funktionieren. Angeschlossene Elektronikgeräte können schnell mit einem Software-Update repariert werden, wenn die Zeit gekommen ist, aber es sind die eingebetteten Systeme, die im Jahr 2038 wahrscheinlich den größten Schaden anrichten werden, da die meisten nicht aktualisiert werden.

Eine Möglichkeit ist, das Datenspeichersystem von der 32-Bit-Ganzzahl auf eine vorzeichenlose 32-Bit-Ganzzahl zu ändern. Dies würde theoretisch die Speicherung von Daten bis zum Jahr 2106 ermöglichen, aber jedes System, das ein Datum vor 1970 verwendet, würde Probleme beim Zugriff auf diese Daten bekommen.

Wenn die Datenspeicherung auf 64-Bit erhöht wird, würden wir auf Kompatibilitätsprobleme zwischen älteren Systemen stoßen, die nur 32-Bit-Datenspeicherung verwenden.

Es gibt derzeit keine allgemeingültige Lösung für das Problem, und selbst die am weitesten akzeptierten Korrekturen weisen in bestimmten Anwendungsbereichen noch Fehler auf. Es gibt jedoch auch positive Nachrichten.

Die meisten neuen elektronischen Geräte sind für die Verwendung der neueren 64-Bit-Datenspeicherung ausgelegt. Ein so großes Datumsintegral würde sich 20 Mal länger erstrecken als das geschätzte aktuelle Alter des Universums, das am Sonntag, den 4. Dezember 292.277.026.596 um 15:30:08 UTC etwa 292 Milliarden Jahre beträgt. Bis dahin könnte Ihr iPhone also noch sicher sein.

Quelle: Wikimedia

Glücklicherweise ist dieses Problem gut bekannt und wurde gründlich untersucht, was bedeutet, dass Computeringenieure die Probleme wahrscheinlich lösen werden, zumindest mit Software, die noch aktualisiert und gewartet wird. Aber was ist mit dem neuwertigen 1997er Prius, der im Jahr 2038 in Ihrer Garage steht? Nun, es kann sein, dass Sie ihn im Januar 2038 nach 3:14 Uhr nicht mehr fahren können, weil sein Bordcomputer jetzt fehlerhaft ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.