Caos Unix – 2038

El problema surguirá en los sistemas unix , cuya fecha de creación (1970) fue la base que sirvió para establecer el calendario unix, y el problema también recaerá sobre muchos sistemas basados en él.

“Hasta ahora la arquitectura más usada es la que se basa en 32-bits. En la mayoría de sistemas de 32-bits, el tipo de dato time_t usado para guardar el contador de segundos es un entero (nombre que designa un tipo de variable en programación comprendida entre unos valores máximos y mínimos) de 32-bits con signo, es decir, que puede representar un rango de números entre -2.147.483.648 y 2.147.483.647 (-231 y 231-1; 1 bit para el signo, y 31 para el valor absoluto), por lo que el último segundo representable con este formato será a las 03:14:07 UTC del 19 de enero de 2038, cuando el contador llegue a 2147483647. Un segundo después, el contador se desbordará, y saltará al valor -2.147.483.648, que causará el fallo de programas que interpretarán el tiempo como que están en 1901 ó 1970 (dependiendo de la implementación), en vez de 2038. A su vez, esto causaría cálculo y procesamiento incorrecto”.

 

 

“Usar un entero de 64 bits retrasaría la fecha del problema unos 290 mil millones de años, quizás mucho tiempo después de que el sol se haya extinguido”.

….., modificar la definición del time_t para usar un tipo de 64-bits rompería la compatibilidad binari a con el software, pues un método más sencillo sería cambiar de arkitectura de 32 bits a 64 bits.

Más información en: soygik o wikipedia

Deja un comentario