1001 Gatos de Schrödinger

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

Assim Falou Ibrahim Cesar em 73 de Caos de 3174 YOLD às 3:04:50

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


Creative Commons License crédito: Squiggle

22 comentários

Gostou? Submeta a estes sites:

  • Adicionar ao Ueba Uêba
    Adicionar ao Rec6 Rec6
    Adicionar StumbleUpon StumbleUpon
  • Adicionar ao del.icio.us del.icio.us
    Adicionar ao Dihitt Dihitt
    Adicionar ao Linkk Linkk

Postagens relacionadas

    Leia Também...

    • Definição circular: veja Definição Circular

Uso

    Se você deseja citar, distribuir, reproduzir, alterar ou fazer qualquer uso do texto parcial ou integral desta postagem, por favor, observe nossa licença de uso.

22 comentários para “O Fim Está Próximo: 19 de Janeiro de 2038”

  1. Henrique Artur Wint MonsterID Icon
    #1 | Henrique Artur Wint (73/Caos/3174, 3:42:23)

    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.

  2. Riovaldo R. Tertuliano MonsterID Icon
    #2 | Riovaldo R. Tertuliano (73/Caos/3174, 3:85:42)

    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.

  3. Enio Luiz Vedovello MonsterID Icon
    #3 | Enio Luiz Vedovello (73/Caos/3174, 4:80:27)

    Sem problemas. Tenho informações seguras de que o mundo vai acabar em 2013, então nenhum desses sistemas terá tempo de dar pau…

  4. Thiago MonsterID Icon
    #4 | Thiago (73/Caos/3174, 5:56:22)

    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!

  5. Thiago MonsterID Icon
    #5 | Thiago (73/Caos/3174, 5:57:75)

    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)

  6. Roberto Sena MonsterID Icon
    #6 | Roberto Sena (73/Caos/3174, 5:66:46)

    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!

  7. Evandro MonsterID Icon
    #7 | Evandro (73/Caos/3174, 6:21:63)

    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…

  8. Enrico Pieratti MonsterID Icon
    #8 | Enrico Pieratti (73/Caos/3174, 7:87:57)

    Bom, eu não vou ter que me preocupar até o ano 29940…

  9. Henrique Artur Wint MonsterID Icon
    #9 | Henrique Artur Wint (73/Caos/3174, 8:10:09)

    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.

  10. Rev. Peterson Cekemp MonsterID Icon
    #10 | Rev. Peterson Cekemp (73/Caos/3174, 9:87:03)

    Uma maçã prevenida vale por uma janela e um pingüim. ;D

  11. Rev. Tiago Madeira MonsterID Icon
    #11 | Rev. Tiago Madeira (1/Discórdia/3174, 4:23:60)

    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.

  12. Rev. Tiago Madeira MonsterID Icon
    #12 | Rev. Tiago Madeira (1/Discórdia/3174, 4:24:06)

    O idiota que programou o calendário discordiano deixou “0 de Discórdia” ao invés de “73 de Caos”. Vou arrumar…

  13. Ibrahim Cesar MonsterID Icon
    #13 | Ibrahim Cesar (1/Discórdia/3174, 4:25:59)
    São os fnords que dão o tempero da vida.
  14. Ibrahim Cesar MonsterID Icon
    #14 | Ibrahim Cesar (1/Discórdia/3174, 4:26:12)
    O software livre não é apenas um pinguin, mas um gnu também!
  15. Rev. Tiago Madeira MonsterID Icon
    #15 | Rev. Tiago Madeira (1/Discórdia/3174, 4:33:07)

    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

  16. Santaum MonsterID Icon
    #16 | Santaum (1/Discórdia/3174, 4:34:03)

    É verdade Tiago.

    Aconteceu a mesma coisa comigo. Anteontem foi 0 de Discórdia, hehehe…

  17. Santaum MonsterID Icon
    #17 | Santaum (1/Discórdia/3174, 4:34:64)

    Aliás, “ontem” foi 0 de discórdia…

  18. Rev. Tiago Madeira MonsterID Icon
    #18 | Rev. Tiago Madeira (1/Discórdia/3174, 4:89:35)

    No fim, nem o Mac restará: http://noticias.terra.com.br/ciencia/interna/0,,OI2681213-EI8146,00.html
    hehehe

  19. Ibrahim Cesar MonsterID Icon
    #19 | Ibrahim Cesar (1/Discórdia/3174, 4:92:79)
    Rá!

    Mas o software livre sim, afinal podemos disseminar pelo espaço em sondas, pois PODEMOS DISTRIBUIR LIVREMENTE.

    Rá!

  20. Patola MonsterID Icon
    #20 | Patola (1/Discórdia/3174, 6:76:96)

    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.

  21. Leituras, recomendações e Kebab » Notícias CTDO MonsterID Icon
    #21 | Leituras, recomendações e Kebab » Notícias CTDO (37/Discórdia/3174, 1:39:16)

    [...] 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 [...]

  22. Leituras, recomendações e Kebab » Notícias CTDO MonsterID Icon
    #22 | Leituras, recomendações e Kebab » Notícias CTDO (37/Discórdia/3174, 1:39:17)

    [...] 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 [...]

Escreva um comentário

A mídia tradicional envia mensagens...

Blogs iniciam conversações.

Hey Você! Já que perdeu algum tempo aqui que tal gastar mais um minutinho e comentar?

REGRAS: Não seja rude, use palavrão ou poste um link malicioso. Escove os dentes pelo menos três vezes ao dia. Se você tem propensão a formar cálculo renal, beba bastante água. Sua visita é sempre bem vinda :)

  • (obrigatório)
  • (obrigatório, não será publicado)

Achtung!

Alguns direitos reservados. Este blog não possui qualquer compromisso com a Verdade, pois nem fomos apresentados a ela ainda. Todo o conteúdo original deste blog, a não ser quando especificado ao contrário, está licenciado sob uma Licença Creative Commons, siga para link e encontre todas as informações sobre a mesma. Utiliza Wordpress 2.5.1, com o tema "Broccolo Romanesco" criado por Tiago Madeira. Hospedado na BlueHost.

Se desejar entrar em contato, não hesite em falar conosco. Nós operamos em muitos níveis.

Página Inicial | Termos de Uso & Política de Privacidade