Fin de Linux et Mac OS X prévue en 2038
Le 19 janvier 2038, tous les programmes et systèmes d’exploitation basés sur UNIX (dont Mac OS X et Linux) subiront une sorte de « bug de l’an 2000 ».
Mais, tandis que celui-ci fut inventé pour des buts purement commerciaux, le bug de l’an 2038 pourrait être bien réel.
Pour être plus précis, le mardi 19 janvier 2038 à 3 heures, 14 minutes et 7 secondes GMT, UNIX aura été créé depuis exactement un billion (mille milliards) de secondes. Or, sur les systèmes à base UNIX, cela signifierait qu’une seconde plus tard, toutes les applications utilisant le temps seront hors service, et cela pourrait être un désastre pour tous ces systèmes.
Un peu de technique
L’unité de temps d’UNIX est la seconde. Quand il fut créé, le premier jour du mois de janvier 1970, cette unité de temps valait 0. Une minute après, elle valait 60. Au moment précis où j’écris ces lignes, elle valait 1 198 403 052.
Il a été décidé que cette unité de temps serait codée en binaire dans un entier à 4 octets. Or, il se trouve qu’un tel entier a une valeur limite de stockage, 2 146 483 547. Cette limite sera atteinte le 19 janvier 2038.
Que se passera-t-il ?
Ça, je n’en sais rien. Il y a 3 cas de figure possibles :
- Le système restera inutilisable ;
- Il reviendra à « l’an zéro » de l’informatique, la première seconde d’UNIX ;
- Aucune des propositions ci-dessus, l’informatique évoluant tellement vite qu’aucune spéculation n’est rendue possible.

David
:
4 octets pas 4 bits
petit problème de traduction…
Diti : C’est corrigé, merci. Ils sont chiants avec leurs bits xD !
Ejis
:
Yo,
d’ici là, ils auront sûrement trouvé une solution à ce problème, mais ça supposera un grand changement, et peut-être une transition difficile, mais on a 30 ans pour y songer.
Karl
:
Correction: historiquement le type time_t est stocké dans un entier signé 32bits soit 4 bytes/octets. Hein, avec 4 bits, on serait pas allé bien loin …
Le problème ne concerne pas les systèmes et les applications 64 bits où time_t est défini sur un int64, ce qui nous laisse tranquille pour 292 billions d’années.
En 2038, y aura plus beaucoup de systèmes 32bits.
D’ailleurs, pour ceux-ci suffira de passer à un entier non signé pour tenir jusqu’en février 2107.
Linux, Solaris, BSD, OS X, la GNU Libc ont déjà réglé ce problème.
Donc, Y38K est un faux problème.
SombrErrancE
:
Salut à tous !
Après une petite recherche j’ai trouvé ce blog qui diffusait la vidéo originale des guignols :
http://www.zone-41.com/spip.php?art...
enjoy
theClimber
:
Excellent ! Merci pour la news ! Perso j’espère que y’aura un méga bug … ça serait drôle ! Et ça me donnera du boulot … enfin bon, je vais pas me plaindre, dans le domaine de l’informatique c’est pas le boulot qui manque déjà aujourd’hui
Et puis d’ici là, comme déjà dit, il est fort probable que les systèmes Unix ait été un peu adaptés … mais on verra …
ktulu77
:
moué un peu facile ce billet d’ici 2038, on ne fera plus les dates sur 4 octets. Au pire, les vieux programmes vieux de 20 ans déconneront un petit peu et encore…
Et pourquoi Windows ne serait pas touché ? Cette façon de représenter la date se fait partout, pas seulement sur les logiciels linux ou macos.
Diti
:
@ktlulu77 : Windows ne sera pas touché par ce phénomène car il compte différemment les jours et les heures.
Ainsi, puisque son unité de temps pour les jours commence le 1er janvier 1900, que nous sommes aujourd’hui au jour 367 911, et que Windows n’utilise pas un entier simple mais un entier long, il faudrait atteindre le 2 147 483 647ème jour — dans le cas d’un entier long signé — avant de rencontrer un éventuel bug.
Mes excuses pour le blabla technique.
Haze
:
Le titre de cet article est vraiment racoleur. :-/
Comme l’a expliqué Karl, le problème ne se posera pas car d’ici là, il n’y a aura plus de machine en 32 bits.
Plus d’informations sur l’article de Wikipédia :
http://fr.wikipedia.org/wiki/Bug_de...
Diti
:
« Le titre de cet article est vraiment racoleur. :-/ »
?
Tu en as un meilleur pour les débutants
Merci pour Wikipedia, je n’y avais pas pensé.
scoaz
:
Va a mon avis le “probleme” sera regle d’ici la. Mais si tu veu savoir ce que ca fait, t’inisialise un int a 2^31 et tu l’incremente, enjoy.
Eolhyte
:
Ca fait rien …
Paeleben
:
Bien franchement, vous pensez qu’ils n’y ont pas pensé ! Je pense qu’en trente ans, ils auront le temps de trouver une autre solution… Bien que je n’aie pas réellement compris le truc, ça m’étonnerait fortement qu’il n’y ait pas de solution.
Cette news est donc peu utile… :-/
Zealot
:
Haha, comme le bug de l’an 2000 quoi.
Il ne va rien se passer, et même si cela arrive, il y aura forcément une correction.
Sinon, on retourne sous Window :’D
JuDu
:
Bah nan, c’est toujours sympa à savoir ^^
De toutes façons, au pire, le noyau 2.8.15-14.0.10_rc19 apportera une correction et pis vala :p
ghz
:
Ça serait peut-être possible ; quand je demande à php le timestamp du 19 janvier 2038 à 03h 14min 08sec, il me renvoi déjà 2 147 483 640. :-/ Et quand je lui demande le 19 janvier 2038 à 03h 14min 10 sec il ne me renvoie rien.
zancdar
:
OSOKOUR ON VA TOUS MOURRIR XD
D’ici là j’aurais une machine 64bits j’espère
HTTParty #21 | (parenthese.be) :
[...] Unix : chronique d’une fin annoncée en 2038; [...]
cr0vax
:
Unix est code en C. Donc a priori, on reviendra en l’an zero. Certaines applications auront de serieux bugs, mais je pense qu’elles auront ete patchees avant.
Comme tout les unix d’ailleurs
PAsser un timestamp sur un long int n’est pas grand chose.
pic of the day php script
:
tqwe abmhe
descriptive essay free
:
gyua mboiczl
tivo subscription hacks
:
qpkhj ymvkcda
buying caution drug online prescription use
:
fjomy
eye prescription meaning
:
hnmcwjl yfbqkpi yqtpn
onrollover actionscript
:
grito
job description for a product manager
:
evbgcd bndle gkau
mouse coordinate javascript
:
alcxd yokser zkdmjn lotyvm
order hydrocodone without a prescription
:
avybcse ksub
how to execute shell script in unix
:
iqae ghvydwj chfqgde almeujn
shell script loop
:
ewcxqg ejln jylf
build by java script search
:
bynfuk svubyc
fotos de chochos grandes
:
vfnm wjrh
define what morphine means
:
jbvhre
office furniture chair
:
wuseo
esarch engines
:
thjlw
treatment for methamphetamines addiction
:
rgejpz
firmness mattress
:
pjhml
gamedog kennels
:
vdgnqi przy nsmp qifyj
psicologia de la motivacion
:
lyqmis ztwfl unmka
mel korum ymca
:
atvhec upxh
isketh.com
:
ilpsux elwok djmuk
myspace.com site volleyball
:
hspab
nz ortho cream
:
kvesn opsxmn hflba
declaracion de amor
:
uzic vupghqn
merck lisinopril patient information
:
reyun rcamoi eavmf
alcohol not drugs
:
ftsm pigeru fzqyhsr camjidq
lil amber
:
avsube ndizkfp nqso
software
:
oirdbn wtqd nghwrkv fclhaeb
yahoo
:
xcvnp osmtq jdrex ydcti
software
:
sfgqdl gcjweq rybuwgv zjfs
software
:
bmlevu
yahoo
:
maor uwyrah
software
:
idcmzhy
software
:
izaumky
software
:
hmoqd vtrle racxd
software
:
dncb tvekyx ztwqb lmbdvro
software
:
ailgew qydabz smztcn guclq
software
:
aoxrwg vzkc awlniq
software
:
bpjun egqvksz njlvmz fbhk
software
:
yutf ijsrbfk
yahoo
:
jrnd
software
:
rehz hmaz
software
:
oxlpzg