Was wird aus Neugier am 19. Januar 2038 in 3:14:07 GMT mit den RPI-Modellen A und B geschehen? Sind sie vom Y2K38-Fehler betroffen ?
time_t
und machen dies zu einem Y292G- Problem, das weder von uns noch von der Sonne gesehen werden kann.
Was wird aus Neugier am 19. Januar 2038 in 3:14:07 GMT mit den RPI-Modellen A und B geschehen? Sind sie vom Y2K38-Fehler betroffen ?
time_t
und machen dies zu einem Y292G- Problem, das weder von uns noch von der Sonne gesehen werden kann.
Antworten:
Hier ist die Ausgabe einer SSH-Sitzung auf meinem Pi, auf dem OpenELEC ausgeführt wird.
Es hängt nach Erreichen von Y2K38. Nicht nur die SSH-Sitzung selbst reagiert nicht mehr, sondern auch OpenELEC friert ein.
Ich erwarte (und hoffe!), Dass bis 2038 ein Fix veröffentlicht wird.
Das, oder Ihre Frage wird in 24 Jahren viele positive Stimmen bekommen .
Eigentlich wird der Raspberry Pi (Hardware) in Ordnung sein. Es enthält keine RTC, daher hängt es davon ab, welches Betriebssystem Sie verwenden.
Aber IIRC alle 32-Bit-Version von Linux haben dieses Problem. Vor einiger Zeit (ungefähr 10 Jahre) sagte Linus, dass er nicht daran interessiert sei, dies auf 32-Bit-Plattformen zu beheben, und dass alle 64-Bit-Linux-Plattformen zu dieser Zeit 64-Bit-time_t hatten. Vielleicht hat er sich seitdem geändert. Der beste Link, den ich finden kann, ist http://permalink.gmane.org/gmane.linux.kernel/1184914 - was nicht dasselbe ist, aber eine ähnliche Absicht ausdrückt.
Es ist nicht besonders schwierig, das zu ändern, aber es würde eine Änderung der Kernel-ABIs erzwingen. Welches ist ein Problem an sich.
RiscOs verwendet jedoch eine 40-Bit-Zeit (Centisekunde), jedoch mit einer anderen Epoche. ( https://www.riscosopen.org/wiki/documentation/show/OS_Word%2014_3 ) - Irgendwann im Jahr 2318 habe ich dieses Versagen gemacht - [berechnet: 1970 + ((2 ^ 40) / 100) / (60 * 60 * 24 * 365.25)]
Android verwendet natürlich den Linux-Kernel. Und ich bin mir sicher, dass ich andere Optionen verpasst habe.
Wie derzeit implementiert, erleidet der Raspberry Pi das Schicksal des aufgelisteten Fehlers, wenn keine Änderungen an der Software vorgenommen werden.
Die meisten modernen Maschinen machen den Sprung zu 64-Bit-Prozessoren, aber ich wäre überhaupt nicht überrascht, wenn ich zu diesem Zeitpunkt noch 32-Bit-Mainstream-Prozessoren sehen würde. Es gibt Softwarelösungen, die das Problem lösen könnten und müssen.
Es scheint mir, dass die wahrscheinlichste Lösung darin besteht, die Epochenzeit so zu aktualisieren, dass sie am 1. Januar 2000 beginnt. Dies würde den Fehler zwar nicht verzögern, ihn aber auf absehbare Zeit zurücksetzen .