Falamos? 968 718 241info@daemon4.com

Daemon4 · The business software factory 968 718 241
efecto 2038

Lembra-se do bug do ano 2000? Pois voltou: é o efeito 2038!

Lembra-se do temido «bug do ano 2000«? Um dia, 1 de janeiro de 2000, em que todos os computadores a nível mundial iam falhar e, em consequência disso, haveria um autêntico cataclismo. Os sistemas informáticos de administrações públicas, hospitais, centrais nucleares, aeroportos e um sem-fim de locais em todo o mundo podiam colapsar.

Talvez também se lembre de que afinal não aconteceu nada.

Mas será que realmente não aconteceu nada?

Informou-se que os aviões não funcionariam, que as caixas multibanco não dariam dinheiro e, em suma, que haveria um bloqueio das máquinas a nível mundial. E muitos misturaram a iminente falha informática com as recorrentes mensagens de mudança de década sobre a chegada do fim do mundo. É verdade, portanto, que houve mais caos informativo do que tecnológico. Mas, na realidade, o bug do ano 2000 representou de facto uma ameaça bastante séria a nível informático, e tanto empresas como administrações públicas tiveram de fazer investimentos milionários para atualizar o seu software. Mas…

O que aconteceu exatamente com o bug do ano 2000? Porque iam falhar os sistemas informáticos?

Nos anos sessenta, a capacidade de armazenamento dos sistemas informáticos era realmente limitada. Por isso, os programadores otimizavam ao máximo o espaço disponível. Em consequência da procura de reduzir o espaço de armazenamento, guardavam o ano das datas num formato de dois dígitos: em vez de escrever 1997 escreviam 97, poupando assim dois dígitos. Era um truque eficaz.

O problema ia chegar no dia 1 do ano 2000, já que, ao passar da data 31/12/99 para 01/01/00, os computadores julgariam estar no ano 1900 e não em 2000, gerando uma infinidade de falhas. A solução foi atualizar milhões de sistemas informáticos em todo o mundo. O custo destas atualizações a nível global foi incomensurável, mas, chegado o dia-chave, a solução funcionou e não houve cataclismo.

Em suma, embora a paranoia tenha crescido alimentada em grande parte pelos meios de comunicação, o bug do ano 2000 foi uma ameaça real. No entanto, e felizmente, as consequências foram apenas anedóticas graças às ações preventivas que foram levadas a cabo.

O bug do ano 2000 é o mesmo que o efeito 2038? Têm algo a ver?

Mas voltemos à atualidade. Diz-se, conta-se, corre o rumor de que a 19 de janeiro de 2038 poderá ocorrer um erro muito semelhante ao de 2000. Esta falha nos sistemas seria também provocada pela forma como as datas são armazenadas nos sistemas informáticos. Concretamente, muitos sistemas julgariam estar no ano 1901. A explicação, neste caso, é um pouco mais complicada.

Os dispositivos eletrónicos com sistema de 32 bits armazenam a informação da data num relógio que simplesmente vai contando segundos.

Funcionam com 32 dígitos binários, uns e zeros, num total de 4.294.967.296 combinações possíveis, metade negativas e metade positivas. Nestes sistemas, o tempo é representado contando os segundos desde 1 de janeiro de 1970, uma data que na altura foi tomada como referência. Um computador de 32 bits só consegue contar até 19 de janeiro de 2038 (e até uma hora concreta), já que essa data (hora, minuto e segundo exatos) é a que soma o total dessas combinações possíveis. Apenas um segundo depois, o sistema julgará estar em dezembro de 1901 (isto é, exatamente 2.147.483.648 segundos antes da data de referência de 1 de janeiro de 1970).

Como curiosidade, em algumas ocasiões já se viu este «efeito 2038» noutros contextos. Por exemplo, o contador do Youtube chegou em 2014, com o famoso videoclipe do Gangnam Style, às 2.147.483.647 visualizações, e depois não foi capaz de contar mais. Algo que a empresa resolveu rapidamente atualizando o seu sistema e passando para 64 bits.

Em resumo, a capacidade máxima dos sistemas informáticos de 32 bits irá teoricamente gerar uma falha a nível mundial, como já aconteceu com o bug do ano 2000.

Devemos estar preocupados com o efeito 2038?

Definitivamente não, não precisa de se preocupar com o efeito 2038. A situação que se verificou com a chegada de 2000 não é comparável com a que se verificará daqui a algum tempo. É verdade que será preciso adaptar os sistemas, mas será um processo muito menos agressivo e, com toda a probabilidade, acontecerá «naturalmente» antes de chegar a data assinalada.

Para começar, os dispositivos de hoje em dia são atualizados com muito mais frequência, pelo que daqui até 2038 há tempo de sobra para adaptar os sistemas. Além disso, em 2038 não restarão muitos sistemas que ainda funcionem com software de 32 bits.

Acontecerá o mesmo daqui a alguns anos com os sistemas de 64 bits?

Sim, mas os valores de 32 para 64 bits não duplicam: a capacidade de armazenamento multiplica-se de forma exponencial. A contagem ascende a nada menos do que 9.223.372.036.854.775.808 valores, um autêntico exagero. Por isso, resumindo, o novo colapso do sistema de 64 bits não ocorrerá antes de passarem alguns milénios.

Alfonso_Rodriguez Tecnología

4 min de lectura