Computadores previram o fim do mundo: em 19 de janeiro de 2038, o tempo deixará de existir.

 


Computadores previram o fim do mundo: em 19 de janeiro de 2038, o tempo deixará de existir.






A medição do tempo em sistemas computacionais em todo o mundo não é infinita. Em janeiro de 2038, ela atingirá seu limite, assim como a água atinge a borda de um copo.

Isso significa que os computadores estão prevendo o fim do mundo? Ou é apenas uma pequena falha técnica? Eventos apocalípticos são frequentemente previstos por místicos, videntes, astrólogos e, ocasionalmente, cientistas, mas agora parece que os computadores estão prevendo um evento desse tipo de forma autônoma e sem intervenção humana.

O apocalipse histórico previsto já foi declarado um fracasso. Mas o que significa quando o tempo se esgota?

Ao desligar o computador após o trabalho (uma etapa que muitos ignoram, desperdiçando energia), siga uma rotina.

De manhã, você liga o carro e, sem surpresa, o relógio marca a hora certa. No entanto, esse conceito de tempo mecânico termina em 19 de janeiro de 2038, às 3h14min07s. Isso não afeta apenas o seu computador; é um fenômeno universal. O tempo como o conhecemos não poderá mais ser comprado, tomado ou emprestado a partir desse momento. Não parece ser nenhum tipo de misticismo.


Todo dispositivo, seja Windows ou iOS, computador de mesa, laptop ou smartphone, contém um sistema, um pequeno chip que conta os segundos. Ele funciona incessantemente, dia e noite, em todas as estações do ano, alimentado por uma bateria.

Ele pode sincronizar com a hora correta pela rede (como smartphones) ou funcionar offline (como computadores antigos). Mas, no fim das contas, nada disso importa.


O ponto crucial é este: todos os relógios de computador do mundo começam a contar os segundos a partir de 1º de janeiro de 1970. Não é como se o contador interno fosse zerado quando você compra um laptop novo. Seja um dispositivo novo ou antigo, a contagem regressiva em todos os lugares começa a partir dessa data histórica.

Os computadores convertem segundos em anos, meses, semanas e dias e exibem a data em um formato que nos é familiar. Internamente, porém, eles registram apenas os segundos. Por exemplo, se o seu carro foi fabricado ontem, ele calcula a data atual com base no número de segundos decorridos desde o ponto de partida programado.


Este relógio interno é limitado a 32 bits, o que significa que pode contar até aproximadamente 2,15 bilhões de segundos (2.147.483.647, para ser preciso). Curiosamente, em 9 de setembro de 2001, havia decorrido um bilhão de segundos desde 1º de janeiro de 1970, embora esse marco tenha passado praticamente despercebido.

O comportamento futuro dos computadores, uma vez atingido esse limite, é incerto. Alguns especulam que eles poderão exibir 13 de dezembro de 1901, o que corresponde a mais de dois bilhões de segundos antes de 1º de janeiro de 1970. No entanto, isso é pura especulação. É mais provável que simplesmente exibam uma mensagem de erro.

Já passamos por isso antes?

Talvez não tenhamos preocupado vocês demais. Afinal, o infame problema do bug do milênio, frequentemente ridicularizado hoje em dia, teve um desfecho relativamente brando. Naquela época, porém, não havia espaço para humor. Costuma-se dizer que cientistas da computação orquestraram a crise para extorquir dinheiro das empresas. Mas isso não é verdade.

Os protocolos de computador estabelecidos na década de 1970 (antes da era dos PCs, mas quando os computadores já eram poderosos e a programação avançada) prescreviam a codificação do ano usando seus dois últimos dígitos. Por exemplo, o ano de 1991 era codificado como "91".

A possibilidade de esse sistema falhar após o ano 2000 não foi considerada; parecia algo muito distante, um problema para o futuro.


Mas com a aproximação do novo milênio, uma solução rápida era essencial. O custo para as empresas globais resolverem o problema chegou à impressionante quantia de 300 bilhões de dólares americanos (às taxas de câmbio da época).

Especialistas em informática começaram a revisar o código. A tarefa era simples, mas monótona. Para economizar memória valiosa, as datas eram armazenadas anteriormente com seis dígitos (por exemplo, 20 de agosto de 1980 como "0832080") em vez dos oito dígitos necessários ("08201980"). O desafio era inserir os dois dígitos que faltavam em todo o sistema.


Em 31 de dezembro de 1999, John Koskinen, presidente da Comissão Americana do Bug do Milênio (Y2K), viajou com jornalistas e computadores para regiões onde o ano 2000 já havia começado.

Apesar de incidentes menores, como uma falha no aquecimento na Coreia do Sul (onde o sistema de aquecimento era controlado por computador na época), grandes transtornos foram evitados.

O problema do ano 2000 era administrável; não era um quebra-cabeça, mas exigia um tempo considerável para ser resolvido. O desafio do ano 2038, no entanto, é diferente.

Há mais de duas décadas, a solução residia na correção de valores numéricos. Hoje, requer compreensão e a realocação de tempo de outras tarefas.

Mas será isso realmente motivo de preocupação? O ciclo da primavera continuará. O tempo, como fenômeno físico, permanecerá constante. Nenhuma singularidade ocorrerá. No entanto, esse é precisamente o problema, pelas seguintes razões:


Todo o sistema precisa de uma transformação.

O termo "era Unix" refere-se à era da computação. Unix é uma antiga família de sistemas operacionais desenvolvida no início da década de 1970 por Ken Thompson e Dennis Ritchie nos Laboratórios Bell, e seu núcleo é um contador de 32 bits.

O problema surge ao considerar a transição para 64 bits. Um cálculo simples mostra que os segundos de um ciclo de clock de 64 bits seriam suficientes até a morte térmica do universo (292 bilhões de anos).

No entanto, a transição não é tão simples quanto substituir o chip de 32 bits por um chip de 64 bits abrindo a parte traseira do computador.


Muitos códigos e configurações são baseados no padrão de 32 bits. Não é mais como em 1999, quando era possível resolver problemas simplesmente somando dois dígitos. Mesmo assim, existe uma solução para cada problema.

O desenvolvimento de novos sistemas operacionais é necessário, incluindo um Windows completamente novo, um iOS diferente e outras plataformas exclusivas.

É necessário produzir novos equipamentos, pois nem todos os computadores suportam arquitetura de 64 bits. Esses equipamentos precisam ser vendidos ou distribuídos para bilhões de pessoas em todo o mundo. Programadores e administradores de rede precisam ser treinados com instruções claras.

Todos os computadores do mundo devem ser desligados simultaneamente para garantir que aviões pousem e navios e trens reduzam a velocidade. Em seguida, todos os sistemas antigos são removidos, os novos instalados, toda a configuração reiniciada e o processo continua, aceitando a possibilidade de erros.

Isso é realista? No planeta atual, sabemos que não.


Vamos perguntar às estrelas.

Quem possui um computador moderno provavelmente tem um sistema operacional de 64 bits. Portanto, o contador continuará funcionando mesmo depois de 2038. Mas a questão permanece: os anos e meses ainda serão exibidos? Converter segundos em datas é essencial. Cientistas da computação consideram isso improvável.

Apesar do sistema de 64 bits, os cálculos subjacentes dos segundos são baseados em uma estrutura de 32 bits. Isso é comparável à gasolina com aditivos ou ao leite com maior teor de gordura: os números podem parecer maiores, mas a essência permanece a mesma.

Obviamente, trata-se de uma simplificação, portanto, peço aos especialistas que se abstenham de divulgar seus números em kilobits.


Existe uma solução para cada problema, inclusive para este. Inúmeros sistemas operacionais estão desenvolvendo e implementando soluções híbridas para contornar incompatibilidades de diversas maneiras. Melhor alguma coisa do que nada.

Certas técnicas merecem atenção. Por exemplo, os desenvolvedores do sistema operacional OpenVMC integraram princípios da astronomia moderna. Você sabia que a astronomia enfrentou um problema semelhante há muito tempo e o resolveu?

Os astrônomos frequentemente precisam calcular o intervalo de tempo entre duas datas, como 3 de janeiro de 675 e 13 de setembro de 2024. A cada dia, começando com o distante 1º de janeiro de 4713 a.C., é atribuído um número sequencial. Esses números estão listados em uma tabela, que agora está disponível digitalmente.


Para determinar a diferença de tempo, você só precisa dos números das duas datas e subtrair um do outro.

O ano de 4713 a.C. foi significativo porque o astrônomo Scaliger percebeu, no século XVI, que nessa data coincidiam três ciclos importantes – de 15, 19 e 28 anos –, simplificando os cálculos científicos.

Sem dispor de contagens exatas, Scaliger utilizou o produto desses ciclos para determinar uma data juliana para qualquer ponto no tempo anterior a 3267 d.C.

Os desenvolvedores acharam essa abordagem genial. Eles escolheram 17 de novembro de 1858, o 2.400.000º dia juliano, como ponto de partida do sistema.

Ao omitir os zeros, eles conseguiram representar o dia juliano por sete séculos em uma memória de 32 bits, incluindo horas, minutos e segundos. Após alguns ajustes, esse sistema passou a contar segundos até 31.086.

Em resumo, os cientistas da computação deveriam ter consultado astrônomos em 1970. Eles fizeram uma aposta arriscada, e os custos dessa aposta atingiram proporções astronômicas desde então.


A NASA possui conhecimento secreto?

E se nossas explicações racionais estiverem completamente erradas? E se os computadores, como dispositivos eletrônicos, tiverem deliberadamente definido o ano de 2038 como o fim do mundo? Será que o tempo deixará de existir? Serão todas essas explicações meras tentativas de racionalizar um evento inevitável?

Existem inúmeras teorias da conspiração, e uma delas diz respeito ao ano de 2038. Uma busca por "fim do mundo 2038" retorna diversos resultados; alguns chegam a afirmar que a NASA previu esse evento apocalíptico.

A NASA realizou recentemente uma simulação para estudar a resposta da Terra ao impacto de um asteroide. O cenário simulava o impacto de um grande asteroide em 12 de julho de 2038.


Devido à comunicação pouco clara da NASA no passado, isso foi interpretado erroneamente por alguns como uma previsão de um impacto real de asteroide em 2038, o que exige esclarecimentos adicionais por parte da NASA.

Isso levou à especulação de que computadores que param de funcionar após uma certa data possuíam conhecimento significativo. E o envolvimento da NASA pareceu confirmar a previsão do supercomputador sobre um impacto catastrófico de asteroide em 2038, que anunciaria o fim dos tempos.

Essa teoria da conspiração, no entanto, não tem fundamento. Mesmo assim, levanta algumas questões: por que a NASA escolheu justamente esse ano para sua simulação?

Será mera coincidência, ou o problema de 2038 envolve algo mais do que apenas bits e segundos que não deve ser subestimado?