O Fim Está Próximo: 19 de Janeiro de 2038

A maior parte dos programas escritos na linguagem de programação em C é relativamente imune ao bug do ano 2000, mas sofre, em vez disso, com o bug do ano de 2038. Este problema surge porque a maioria dos aplicativos em C usa uma biblioteca de rotinas chamada de biblioteca de tempo padrão. Esta biblioteca estabelece um formato padrão de 4 bytes para o armazenamento de valores de tempo, e também oferece diversas funções para a conversão, exibição e cálculo de valores de tempo.O formato padrão de 4 bytes presume que o começo do tempo é 1 de janeiro de 1970, às 12h00 min. Este valor é 0. Qualquer valor de tempo/data é expresso como o número de segundos após esse valor de zero. Portanto, o valor 919642718 é 919.642.718 segundos passados das 12h00m00s de 1 de janeiro de 1970, que é domingo, 21 de fevereiro de 1999, às 16h18m38s (hora do Pacífico) (EUA). Este é um formato conveniente, porque se subtraímos quaisquer dois valores, o resultado é um número de segundos, que é a diferença de tempo entre ambos. Depois, você pode usar outras funções na biblioteca para determinar quantos minutos/horas/dias/meses/anos se passaram entre os dois momentos.Se você sabe como funcionam os bits e os bytes, já sabe que um inteiro de 4 bytes com sinal tem um valor máximo de 2.147.483.647, e é daí que vem o problema ou bug do ano 2038. O valor máximo de tempo antes dele rolar para um valor negativo (e inválido) é 2.147.483.647, que se traduz em 19 de janeiro de 2038. Nesta data, quaisquer aplicativos em C que usem a biblioteca de tempo padrão começarão a ter problemas com o cálculo da data.
Os PCs da IBM sofrem do problema do ano 2116. Para um PC, o começo do tempo é 1 de janeiro de 1980, e apresenta incrementos de segundos em um inteiro de 32 bits sem sinal de um modo semelhante ao tempo em UNIX. Em 2116, o inteiro esgota-se. O Windows NT usa um inteiro de 64 bits para marcar o tempo. Entretanto, ele usa 100 nanossegundos como seu incremento e o começo do tempo é 1 de janeiro de 1601, de modo que o NT sofrem do problema do ano de 2184, a Apple declara que o Mac não apresentará tais problemas até o ano de 29.940!
Fonte: HowStuffWorks

crédito: Squiggle






















22 comentários para “O Fim Está Próximo: 19 de Janeiro de 2038”
Até estas datas estaremos ‘rodando’ em CPU’s de 256bit’s ou até mais, e certamente o pessoal que desenvolve a linguagem C já vai ter dado um jeito em fazer um upgrade no arquivo. E duvido muito em em 2038 alguém irá usar qualquer programa desta década.
Reverendón,
Me quedé con muy miedo ahora. Soy muy joven, estoy seguro de que tendré muchas oportunidades al largo de mi vida y luego de acá en treinta años el mundo le va a cerrarle!
Qué lástima! Ahora no puedo más empezar a formar una família para mi. Necesito llorarme ahora!
Frase del gran Riovaldo: “Para cada situación dificile en su vida, la encare como se fuera una situación difícile”
Merci.
Sem problemas. Tenho informações seguras de que o mundo vai acabar em 2013, então nenhum desses sistemas terá tempo de dar pau…
Isso nao quer dizer que o fim está próximo. Quer dizer que em 2037 os programas em C (onde a data é importante) vão ter que ser refeitos em outra linguagem.
E cá entre nós, se até 2038 C ainda for muito usado o MUNDO VAI MERECER ACABAR MESMO!
Henrique Artur Wint ….
isso não é improvavel de acontecer… tem programa escrito em cobol (uma linguagem antiga) por exemplo que é usado há mais de 30 anos em algumas empresas (o custo para reimplementar em outras linguagens é alto)
Olá gente! Primeira visita! Quanto esse negócio de fim de fim do mundo, acredito que os sistemas que usamos atualmente estarão obsoletos….vamos esperar..vou deitar, aliás, porque vai demorar um bocado..rss.um abraço!
O Enio falou tudo…. segundo um garoto vidente da Russia o mundo acaba em 2013, ou seria 2023?
23… hummmm
Não vai mesmo dar tempo…
Bom, eu não vou ter que me preocupar até o ano 29940…
Mas Tiago, eu posso afirmar com toda certeza que as empresas vão preferir gastar antes o dinheiro para mandar reescrever os programas, do que ficar meses paradas porque o sistema tá de birra com as datas.
Uma maçã prevenida vale por uma janela e um pingüim. ;D
Enrico, quem não vai ter problemas é o seu Mac itself. Todos os programas que você usa nele vão. Então, preocupe-se, se seus programas não evoluírem até lá.
Agora… Quanto a quem usa software livre, muitos deles são atualizados toda semana, o que torna meio impossível estar com algum software obsoleto em 2038.
O idiota que programou o calendário discordiano deixou “0 de Discórdia” ao invés de “73 de Caos”. Vou arrumar…
Uma maçã dourada vale mais do que uma maçã prevenida, uma janela, um gnu e um pinguim… Se bem que Stallman não vai descansar antes de convencer o mundo de que o nome mais correto é GNU/Maçã Dourada
É verdade Tiago.
Aconteceu a mesma coisa comigo. Anteontem foi 0 de Discórdia, hehehe…
Aliás, “ontem” foi 0 de discórdia…
No fim, nem o Mac restará: http://noticias.terra.com.br/ciencia/interna/0,,OI2681213-EI8146,00.html
hehehe
Mas o software livre sim, afinal podemos disseminar pelo espaço em sondas, pois PODEMOS DISTRIBUIR LIVREMENTE.
Rá!
Então, esse bug de Unix do ano 2038 até onde sei é bem fácil de corrigir. Além de o campo poder ser implementado internamente com mais bytes (o que será trivial pois é bastante provável que em 2038 todas as máquinas sejam pelo menos de 64 bits, inclusive as portáteis), existe um workaround bem fácil que só precisaria ser implementado na libc: se o tempo ficar negativo, ao invés de voltar a 1970 calcule o tempo somando a 17 de janeiro de 2038, pelo menos até uma data arbitrária (por exemplo, 1 de janeiro de 2000). Esse exemplo daria uma “folga” de 30 anos para os programas antigos ainda funcionarem.
[...] Lembrança eterna de uma mente sem brilho.- Mudança nos tempos, via Brontossauros em meu jardim.- O fim está próximo: 19 de janeiro de 2038, via 1001 Gatos de Schrödinger.- A casa do Barão e Bonifácio, o bobo, via Blog do João [...]
[...] Lembrança eterna de uma mente sem brilho.- Mudança nos tempos, via Brontossauros em meu jardim.- O fim está próximo: 19 de janeiro de 2038, via 1001 Gatos de Schrödinger.- A casa do Barão e Bonifácio, o bobo, via Blog do João [...]