22 Juil 2008, 23:01
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.
23 Juil 2008, 11:28
23 Juil 2008, 17:27
23 Juil 2008, 19:51
24 Juil 2008, 00:30
24 Juil 2008, 17:25
24 Juil 2008, 18:05
07 Oct 2010, 17:07
08 Oct 2010, 18:36
qwerty a écrit:Je poste un lien de mon blog qui parle du bug de 2038 :
http://codeur-fou.legtux.org/index.php? ... st-en-2038
08 Oct 2010, 18:51
Si vous êtes dans l’open source, il existe aussi une librairie libre qui vous permettra de patcher votre code existant afin de lui autoriser une longue et heureuse fin de vie bien après 2038.
Sachez enfin que ce bug de 2038 est très similaire à celui de l’an 2000, c’est à dire que la plupart des suggestions proposées par exemple par Steve Manley pour résoudre le problème du Y2K Bug sont applicables au bug de l’an 2038.
15 Oct 2010, 17:46
15 Oct 2010, 18:43
Retourverslefutur.com participe au Programme Partenaires d’Amazon EU, un programme d’affiliation publicitaire conçu pour permettre à des sites de percevoir une rémunération grâce à la création de liens vers Amazon.fr. |