Solo per curiosità, cosa succederà ai modelli A e B di RPis il 19 gennaio 2038 alle 3:14:07 GMT? Sono interessati dal bug Y2K38 ?
time_t
, trasformandolo in un problema Y292G , che né noi né il sole vivremo per vedere.
Solo per curiosità, cosa succederà ai modelli A e B di RPis il 19 gennaio 2038 alle 3:14:07 GMT? Sono interessati dal bug Y2K38 ?
time_t
, trasformandolo in un problema Y292G , che né noi né il sole vivremo per vedere.
Risposte:
Ecco l'output di una sessione SSH sul mio Pi che esegue OpenELEC.
Si blocca dopo aver raggiunto Y2K38. Non solo la sessione SSH stessa smette di rispondere, ma anche OpenELEC si blocca.
Mi aspetto (e spero!) Che entro il 2038 sarà stata rilasciata una correzione.
Quello, o la tua domanda otterrà molti voti in 24 anni.
In realtà il Raspberry Pi (hardware) andrà bene. Non contiene un RTC, quindi dipenderà dal sistema operativo in uso.
Ma IIRC per tutte le versioni a 32 bit di Linux presenta questo problema. Qualche tempo fa (circa 10 anni) Linus ha affermato di non essere interessato a risolvere questo problema su piattaforme a 32 bit e tutte le piattaforme Linux a 64 bit al momento avevano 64 bit time_t. Da allora, forse, ha cambiato idea. Il miglior link che posso trovare è http://permalink.gmane.org/gmane.linux.kernel/1184914 - che non è lo stesso, ma esprime un intento simile.
Non sarà una cosa particolarmente difficile da cambiare, ma forzerebbe un cambiamento nelle ABI del kernel. Qual è un problema in sé.
Ma RiscOs utilizza un tempo di 40 bit (centisecondi), ma con un'epoca diversa. ( https://www.riscosopen.org/wiki/documentation/show/OS_Word%2014_3 ) - Faccio questo errore nel 2318 - [calc era: 1970 + ((2 ^ 40) / 100) / (60 * 60 * 24 * 365,25)]
Android, ovviamente, usa il kernel Linux. E sono sicuro di aver perso altre opzioni.
Come è attualmente implementato, il Raspberry Pi subirà il destino del bug elencato, se non vengono apportate modifiche al software.
La maggior parte delle macchine moderne sta passando ai processori a 64 bit, ma non sarei affatto sorpreso di vedere ancora i processori mainstream a 32 bit a quel punto. Esistono soluzioni software che potrebbero e dovranno risolvere il problema.
Mi sembra che la soluzione più probabile sarebbe quella di aggiornare il tempo Epoch per iniziare a qualcosa come il 1 ° gennaio 2000. Anche se questo non ritarderebbe il bug, lo ripristinerebbe sicuramente per il prossimo futuro.