Bug do milênio

classe de bugs de computador relacionados a datas com início no ano 2000
(Redirecionado de Y2K)

O problema do ano 2000, também conhecido como problema do Y2K, susto do Y2K, bug do milênio, glitch do Y2K, erro do Y2K, ou simplesmente Y2K,[1] refere-se a possíveis erros de computador relacionados à formatação e armazenamento de dados de calendário para datas a partir do ano 2000. Muitos programas representavam anos de quatro dígitos apenas com os dois últimos dígitos, tornando o ano 2000 indistinguível de 1900. A incapacidade dos sistemas de computador de distinguir corretamente as datas tinha o potencial de derrubar infraestruturas mundiais para indústrias dependentes de computadores.[2][3][4]

Y2K
Bug do milênio
Foto do dia 3 de janeiro de 2000 mostra um painel eletrônico de uma escola de engenharia na França com a data errada: 3 de janeiro de 1900.
Outros nomes Bug do milênio
Projeção Global
Data 1 de janeiro de 2000

Contexto histórico

editar

Na década de 1960, com a solidificação de vários sistemas computacionais e a ampliação de sua abrangência, foi necessária a adoção de diversos padrões para garantir a compatibilidade entre os diversos tipos de hardware e os softwares escritos para eles. Numa época em que cada byte de memória economizado representava economia de dinheiro, muitos destes padrões adotavam formas resumidas para armazenar dados. Ainda hoje centenas destes padrões ainda estão em vigor, embora muitos tenham sido substituídos para se atualizar com a flexibilidade dos novos hardwares disponíveis.

Nos sistemas mais antigos, como aqueles na linguagem COBOL e semelhantes, as datas eram armazenadas com apenas 2 dígitos para o ano, ficando os restantes implicitamente entendidos como sendo "19". Desta forma cada data armazenada deixava de ocupar oito bytes (dois para o dia, dois para o mês e quatro para o ano), e passava a ocupar somente seis bytes (somente dois no ano). A opção por representar as datas desta forma vinha da necessidade real de economia de memória e espaço de armazenamento. Hoje isso parece insignificante, mas na época isso foi o suficiente para justificar a adoção do padrão, tamanho o custo das memórias e dispositivos de armazenamento.

Para ter uma ideia, imagine um banco de dados com vários campos, entre eles "data de nascimento", "data de casamento" e "data de cadastro". Para cada registro a economia nas três datas totaliza seis bytes. Se o banco de dados tiver dez mil registros são 60 kB a menos, o que era significativo numa época em que os Discos rígidos tinham o tamanho de 180 kB.

O problema

editar

Como todas as datas eram representadas por somente 2 dígitos, os programas assumiam o "19" na frente para formar o ano completo. Assim, quando o calendário mudasse de 1999 para 2000 o computador iria entender que estava no ano de "19" + "00", ou seja, 1900. Os softwares mais modernos, que já utilizavam padrões mais atuais, não teriam problemas em lidar com isso e passariam corretamente para o ano 2000, mas constatou-se que uma infinidade de empresas e instituições de grande porte ainda mantinham em funcionamento programas antigos, em função da confiança adquirida por anos de uso e na sua estabilidade. Para além disso, temiam-se os efeitos que poderiam ser provocados no hardware pelo sistema BIOS, caso este reconhecesse apenas datas de dois dígitos.

Caso as datas realmente "voltassem" para 1900, clientes de bancos veriam suas aplicações dando juros negativos, credores passariam a ser devedores, e boletos de cobrança para o próximo mês seriam emitidos com cem anos de atraso.

Soluções

editar

O temor do bug do milênio motivou uma renovação em massa dos recursos de informática (tanto de software como de hardware) e houve uma louca corrida para corrigir, atualizar e testar os sistemas antes que ocorresse a mudança do milênio. Velhos programadores de COBOL foram tirados da aposentadoria, para voltar a trabalhar em sistemas muitas vezes desenvolvidos por eles mesmos, vinte anos antes.

Na verdade, alguns dos sistemas desenvolvidos já possuíam alguma previsão para a virada do milênio. Um exemplo de técnica de compensação ao bug pode ser encontrado no velho sistema em COBOL da empresa brasileira Espiral Informática: o sistema adicionava 1900 ao ano sempre que este fosse maior que 25. E adicionava 2000 a todos os anos anteriores a 25. Assim, "24" seria interpretado como 2024, e "26", como "1926". Já "85" era interpretado como 1985. Este sistema tinha vida útil até 2025, data escolhida de forma arbitrária pelos desenvolvedores, possivelmente na crença de que em 2025 o sistema já teria sido substituído por simples obsolescência.

Nos computadores da Apple Inc., era utilizado um sistema de contagem de segundos desde 1 de Janeiro de 1904, sendo que o sistema operativo se encarregava de converter os segundos em data. Sistema semelhante ao horário Unix.

Consequências

editar

Surpreendentemente, houve poucas falhas decorrentes do bug do milênio, que se revelou quase inofensivo apesar de ter gerado uma onda de pânico coletivo, especialmente nos países nos quais os computadores estavam mais popularizados. Todo esse pânico foi injustificado, porque a maioria das empresas e dos consumidores domésticos havia adquirido computadores novos ou fizeram a atualização para sistemas operativos preparados para o problema. Além disso, o grande desenvolvimento informático ocorreu na segunda metade da década de 1990 (não nas décadas de 1960, 1970 ou mesmo 1980, quando apenas grandes empresas possuíam os supercomputadores que tinham esse erro), quando os sistemas já estavam preparados para o problema. Os velhos computadores afetados pelo erro foram sendo substituídos ao longo da década de 1990, com o advento da Internet e do Windows 95, o que contribuiu para um número muito reduzido de ocorrências de problemas no mundo inteiro.

O assunto gerou muita polêmica devido aos grandes lucros gerados para as empresas de informática, foi alvo de matérias copiosas na imprensa e deu até origem a vários filmes. Hoje é considerado como um dos casos registrados pela história de pânico coletivo vazio de fundamentos.

editar
  • O filme Entrapment, de 1999, é centrado num roubo tecnológico tirando partido do bug do milênio.[5]
  • O protagonista de Office Space (br: Como Enlouquecer Seu Chefe / pt: O Insustentável Peso do Trabalho), Peter Gibbons, trabalha como programador fazendo atualização de softwares para lidarem com o novo formato de data, corrigindo o futuro bug nestes softwares.

Ver também

editar

Referências

  1. «BBC NEWS | Science/Nature | Y2K bug fails to bite». news.bbc.co.uk. Consultado em 26 de maio de 2024 
  2. «O que foi o Bug do Milênio?». Super. Consultado em 26 de maio de 2024 
  3. «"Bug do milênio": 20 anos do primeiro grande desafio de cibersegurança». IstoÉ Dinheiro. 30 de dezembro de 2020. Consultado em 26 de maio de 2024 
  4. «Há 20 anos, o 'bug do milênio' e o fim do mundo que não aconteceu». G1. 31 de dezembro de 2019. Consultado em 26 de maio de 2024 
  5. «Bug do milênio». JC OnLine. Consultado em 22 de abril de 2012. Arquivado do original em 17 de março de 2015