La norme POSIX propose une représentation du temps appelée "timestamp", qui correspond au nombre de secondes écoulées depuis le 1er janvier 1970. Sur les systèmes 32 bits, le timestamp est un entier signé de 4 octets. Un octet comportant à 8 bits, le timestamp est contenu dans 8x4 soit, 32 bits (...)
[...] Pour ces derniers, le bug de l'an 2038 peut représenter un danger pour l'espèce humaine. Il est tout à fait possible, d'un point de vue théorique, qu'il soit responsable de catastrophes. C'est un bug de ce type, un overflow arithmétique, qui a causé l'explosion 37 secondes après décollage, du vol 501 d'Ariane 5. Conclusion Il n'y a absolument aucune prise de conscience sur les problèmes potentiels qui pourraient arriver. Il est vrai, certes, que nous avons le temps avant d'être en 2038, mais les développeurs continuent d'agir exactement de la même manière. [...]
[...] III - Comment éviter ce problème ? Il n'existe qu'une solution valable, utiliser une architecture 64 bits. Les timestamps seraient donc contenus dans 8 octets plutôt que 4 et le problème serait repoussé à dans plusieurs centaines de milliards d'années. Déjà depuis le début des années 2000, les ordinateurs et les serveurs commencent petit à petit à migrer vers du 64 bits. Il est très probable qu'une quantité infime d'ordinateurs soit confrontée au bug de l'an 2038. IV - Si les ordinateurs ne sont pas concernés, où est le problème ? [...]
[...] Autrement dit, il n'est pas possible de gérer nativement le problème de l'an 2038. La seconde qui arrivera après 2147483647 sera fatalement : = -2147483648 Cela correspond à 2147483648 secondes avant le 1er janvier 1970, soit le 13 décembre 1901. II - Qu'est-ce que cela implique ? Des gros problèmes. La plupart du temps, les programmes fonctionnent de manière "scheduled", c'est-à-dire planifiés. Ils comptent le temps et agissent toutes les n secondes, attendent des évènements etc. Les actions prévues pour après le timestamp 2147483647 ne pourront jamais arriver. [...]
[...] Comprendre le bug de l'an 2038 Introduction - Retour vers le futur ! Contrairement au prétendu "bug" de l'an 2000, qui n'était qu'une vaste farce, il existe un bug bien moins médiatisé mais, qui arrivera de manière certaine, celui de l'an 2038. Le 19 janvier à 3h14 précise, certains programmes se croiront en l'an 1901. I - Que se passe-t-il techniquement ? La norme POSIX propose une représentation du temps appelée "timestamp", qui correspond au nombre de secondes écoulées depuis le 1er janvier 1970. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture