Bogue de l'an 2038

Un article de Wikipédia, l'encyclopédie libre.

Illustration du phénomène.
Illustration du phénomène.

En informatique, le bogue de l'an 2038 est un problème similaire au bogue de l'an 2000 qui pourrait perturber le fonctionnement de certains ordinateurs aux alentours du 19 janvier 2038, et plus particulièrement le 19 janvier 2038 à 3 h 14 min 7 s, temps universel.[1]

Le problème concerne des logiciels qui utilisent la représentation POSIX du temps, dans lequel le temps est représenté comme un nombre de secondes depuis le 1er janvier 1970 à 0 heure. Sur les ordinateurs 32 bits, la plupart des systèmes d'exploitation concernés représentent ce nombre comme un nombre entier signé de 32 bits, ce qui limite le nombre de secondes à 2 147 483 647 (01111111 11111111 11111111 11111111 en base 2). Ce nombre maximum sera atteint le 19 janvier 2038 à 3 h 14 min 7 s (temps universel). La seconde suivante, la représentation du temps « bouclera » (10000000 00000000 00000000 00000000 en base 2) et représentera -2 147 483 648 en complément à deux.

Les logiciels concernés sont très nombreux car la norme POSIX, inspirée des systèmes UNIX, a été utilisée pour de nombreux programmes écrits en langage C pour de nombreux systèmes d'exploitation. Sur certains ordinateurs, la date limite est située en 2106 et non en 2038 car le temps y est représenté par un entier à 32 bits non signé (tout en restant conforme à la norme POSIX). Mais ces ordinateurs sont minoritaires. Le passage à 64 bits résout le problème presque définitivement, la date butoir se situant à 292 milliards d'années. Mais, malgré le succès croissant des ordinateurs à 64 bits, il est possible que de nombreux ordinateurs à 32 bits soient encore actifs en 2038, en particulier dans les systèmes embarqués.

Il n'existe pas de correctif simple pour ce problème, dans la mesure où le format sur 32 bits est présent aussi dans de nombreux formats de fichiers (par exemple le format ZIP). Un changement de représentation dans les ordinateurs rendrait donc inopérants les programmes qui exploitent l'actuelle équivalence entre la représentation interne et le format de fichiers.

[modifier] Notes et références

  1. Sare Robinson, « Beyond 2000: Further Troubles Lurk in the Future of Computing », 19 juillet 1999, The New York Times. Consulté le 8 août 2007