Quer ver se o seu Linux tem o bug? Digite no terminal: "date -d 01/19/2038". Veja o resultado e depois digite: "date -d 01/20/2038". Quer concertar? Veja o artigo.
Eu estava brincando com o terminal e a função date, acabei descobrindo por acidente esse bug... esse é o mesmo caso que ouvimos falar em 1999 que no ano 2000 tudo ia parar e coisa do tipo, fazendo a Microsoft e outras empresas lucrar um pouco mais com os patches para consertar esse bug.
Bom, os comandos que retornam datas se baseiam em códigos binários para fazer os cálculos dos segundos etc. Quando o calendário do sistema POSIX foi iniciado, a data de início foi estipulada como 14/12/1901 (e a SCO teima que o Linux e UNIX, sendo que o UNIX começa em 19/01/1970)... bom essa data para o computador não é 14/12/1901 00:00:00 e sim 00000000 00000000 00000000 00000000.
Nos concentrando nos 3 primeiros zeros vamos contar até 5 em binários:
1 =
000
2 =
001
3 =
010
4 =
011
5 =
101
Ao chegar em 19/01/2038 03:14:07 em binário será 01111111 11111111 11111111 11111111, após isso o computador vai entender como 13/12/1901 20:45:52.
Veja um exemplo do que eu estou falando:
Bom, graças a Deus não somos como os pessoal da M$ que só avisa em cima da hora para você ser obrigado a comprar o patch dos programas que eles criam... esse bug foi descoberto com 32 anos de antecedência e já tem um patch para consertá-lo. Veja o código na próxima página.
Caso você queira ler o artigo no qual eu baseei a pesquisa:
[1] Comentário enviado por elgio em 04/03/2008 - 10:42h
Parabéns pela didática!
Excelente!
Me fez lembrar do bug que a primeira versão do NT tinha: eles usaram uma variável de 32 bits para contar o número de milisegundos que a máquina estava ligada. Em 49 dias esta variável entrava em overflow e o computador se resetava :-O
Mas não se preocupem, foi sem impacto. Ninguém conseguia ficar com um Windows tanto tempo ligado sem ter que reiniciá-lo por outros motivos :-D
[7] Comentário enviado por Teixeira em 04/03/2008 - 13:19h
Valeu, muito bom o artigo.
O que eu iria comentar os colegas já comentaram.
( Tá passeando em Sydney? "Gudái, máite!..." Tem "snáiks" por aí?... hehehe!)
[10] Comentário enviado por M4iir1c10 em 05/03/2008 - 07:48h
Desculpe Rodrigo Campelini mais eu escrevi consertar ou concertar? Eu acho que foi com s e nao com c... qual eu devo usar ? Desculpem pelos erros ja tem um tempo que eu estou sem falar portugues, ai ja viu ne? o verbo to be em portugues "Eu estarei indo comprar chocolate"...rsrsrs