Imagem meramente ilustrativa de erro de sistema - Getty Images
Bug do milênio

Y2K38: O novo bug do milênio que levará computadores de volta para dezembro de 1901

Na virada para o ano 2000, bug em computadores que poderia ter colapsado o mercado foi resolvido; mas erro em aparelhos modernos pode causar problemas em breve

Pamela Malva Publicado em 14/01/2020, às 18h00 - Atualizado em 28/12/2023, às 12h44

Pouco antes da virada entre os anos 1999 e 2000, as pessoas estavam ansiosas e curiosas para um novo ciclo, afinal, um novo milênio e uma nova década começariam. Programadores, bancários e engenheiros computacionais, no entanto, não estavam tão felizes assim.

Para falar a verdade, eles estavam quase entrando em desespero por culpa do Bug Y2K, o bug do milênio. Era inevitável: quando os relógios dos computadores começassem a contagem do novo ano, todos os sistemas voltariam ao ano de 1900.

Isso aconteceria porque, naquela época, a contagem na linguagem COBOL não reconheceria um novo milênio e retornaria para a última virada conhecida: a de 100 anos antes. No mercado, isso significava boletos atrasados, clientes de banco aparecendo como devedores e juros altíssimos.

Claro, naquele momento, tudo foi resolvido. Mas, agora, outro bug e suas consequências aterrorizam programadores e engenheiros atuais. Uma falha muito parecida em computadores modernos pode causar o mesmo erro no dia 19 de janeiro de 2038.

O novo Bug do Milênio

O novo bug, conhecido como Y2K38, em referência ao primeiro, pode acontecer porque os sistemas que temos hoje, com a representação de tempo em POSIX, funcionam de um jeito específico. Eles contam o número de segundos a partir do dia 1 de janeiro de 1970, ao meio-dia.

Esse padrão de cálculo, presentes em softwares desenvolvidos na linguagem C, está presente na maioria dos sistemas atuais. Por isso, o bug pode afetar uma grande parte dos computadores em atuação no ano de 2038.

Tais sistemas, em linguagem C, usam o padrão de 4 bytes e reconhecem um número máximo positivo (de 2.147.483.64, ou 19 de janeiro de 2038). A partir dessa data, o tempo será armazenado em números negativos, o que jogará todos os sistemas de volta em 13 de dezembro de 1901 (uma sexta-feira 13).

Imagem ilustrativa de erro de sistema / Crédito: Getty Images

 

Assim como tudo foi resolvido nos anos 2000 e o bug, de fato, não foi tão devastador como prometia, soluções podem ser feitas no futuro para que o Bug Y2K38 não nos afete. Em sistemas bem escritos, por exemplo, é só programá-los para uma nova versão, com valores de 8 bytes ao invés de 4 bytes.

Muitas empresas de softwares, no entanto, já se protegeram contra possíveis bugs. No caso do Windows NT, que utiliza 64 bits e a contagem iniciou-se em 1 de janeiro de 1601, um bug só deve acontecer em 2184.

Em computadores com a contagem iniciada em 1 de janeiro de 1980, por exemplo, mesmo que usem 32 bits, o bug é esperado apenas em 2116. Muito mais a frente, a Apple alega que já se muniu de sistemas inteligentes o suficiente para que um problema assim aconteça apenas no ano de 29.940, permitindo muito tempo de descanso para seus programadores.

História História do Brasil Internet futuro Bug do milênio Anos 2000 Computação Bug

Leia também

Taj Mahal Palace: Alvo de um atentado terrorista, hotel virou campo de guerra


Atentado ao Hotel Taj Mahal: 5 coisas para saber sobre a história real do filme


O Caso Asunta: Veja a verdadeira história por trás da série da Netflix


Bebê Rena: Veja 5 diferenças entre a série e a história real


O Caso Asunta: O que aconteceu com os pais de Asunta Basterra Porto


O que aconteceu com a McLaren que Senna ganhou em aposta?