7 de jan. de 2010

Bug do ano 2038 - Faltam 28 anos

0 comentários

O titulo do post já dá pistas: vem mais encrenca por aí. Mal saímos do bug do milênio e já estão preocupados com outro.
Na mesma linha do bug anterior, este também tem a ver com tempo e datas. O problema afeta programas que utilizam a representação de tempo Posix (Interface Portátil entre sistemas operacionais), baseada em Unix -sistema operacional que controla a maioria dos servidores.
Nessa representação, o tempo é calculado desde 1o de Janeiro de 1970 e usa um número binário (representado por zeros e uns) de 32 bits. A última data que pode ser representada nesse formato é 03:14:07 de 19 de Janeiro de 2038 (32 números 1 seguidos).
Após esse momento, a data será representada por um número decimal negativo (foto). Isso fará o calendário voltar para 1970 ou 1901, afetando a maioria dos programas executados pelo sistema. Bug a vista!
A utilização de valores de 64 bits introduz um novo "corte" na data em aproximadamente 290 bilhões de anos, num domingo em de 4 de dezembro 292.277.026.596 as 15:30:08 (UTC). Claramente este problema não é uma questão imediata.
Obs.: E dessa vez não vai ser tão simples resolver. Mudar a base de dados para 64 bits. A mudança quebraria a compatibilidade binária de alguns softwares. O Zip - compactador - foi construído para 32 bits. Muitos sistemas embarcados feitos até 2006 usam arquitetura de 32 bits.Tomara que consigam fazer a migração dos sistemas até 2038. No aguardo e torcendo!


Subscribe