Por curiosidade, o que acontecerá com os RPis Modelo A e B em 19 de janeiro de 2038 em 3:14:07 GMT? Eles são afetados pelo bug do Y2K38 ?
time_t
, transformando isso no problema Y292G , que nem nós nem o sol viveremos para ver.
Por curiosidade, o que acontecerá com os RPis Modelo A e B em 19 de janeiro de 2038 em 3:14:07 GMT? Eles são afetados pelo bug do Y2K38 ?
time_t
, transformando isso no problema Y292G , que nem nós nem o sol viveremos para ver.
Respostas:
Aqui está a saída de uma sessão SSH para o meu Pi executando o OpenELEC.
Ele trava após atingir o Y2K38. Não apenas a própria sessão SSH para de responder, mas o OpenELEC também congela.
Espero (e espero!) Que até 2038 uma correção seja lançada.
Isso ou sua pergunta receberá muitos votos em 24 anos.
Na verdade, o Raspberry Pi (hardware) vai ficar bem. Ele não contém um RTC, portanto, dependerá de qual sistema operacional você usar.
Mas o IIRC, toda a versão de 32 bits do Linux, tem esse problema. Algum tempo atrás (aproximadamente 10 anos), Linus disse que não era interessante em consertar isso em plataformas de 32 bits e todas as plataformas Linux de 64 bits na época tinham 64 bits time_t. Ele pode ter mudado de idéia desde então, é claro. O melhor link para isso que encontro é http://permalink.gmane.org/gmane.linux.kernel/1184914 - que não é o mesmo, mas expressa uma intenção semelhante.
Não será algo particularmente difícil de mudar, mas forçaria uma alteração nas ABIs do kernel. O que é um problema em si.
Mas, o RiscOs usa um tempo de 40 bits (centisegundos), mas com uma época diferente. ( https://www.riscosopen.org/wiki/documentation/show/OS_Word%2014_3 ) - Eu faço isso em algum momento em 2318 - [calc era: 1970 + ((2 ^ 40) / 100) / / 60 * 60 * 24 * 365,25)]
O Android, é claro, usa o kernel do Linux. E tenho certeza que perdi outras opções.
Conforme atualmente implementado, o Raspberry Pi sofrerá o destino do bug listado, se nenhuma alteração no software for feita.
A maioria das máquinas modernas está dando um salto para os processadores de 64 bits, mas não me surpreenderia ainda ver os processadores de 32 bits mainstream nesse ponto. Existem soluções de software que poderiam e terão que resolver o problema.
Parece-me que a correção mais provável seria atualizar o horário da Epoch para começar em algo como 1º de janeiro de 2000. Embora isso não atrasasse o bug, certamente o redefiniria no futuro próximo.