PDA

Ver la versión completa : 2038: Y2K para Unix



Arielo
16/02/2009, 10:53
¿Recuerdan el famoso Y2K?
Si la respuesta es "SI", continuar en r_SI
Si la respuesta es "NO", continuar en r_NO

r_SI:
Bien por vos. Vayamos al grano.
En Unix, la forma de representar el tiempo, se basa en la cantidad de segundos transcurridos desde el 01/01/1970. Recientemente, se llegó a la particular cifra de "1234567890"
Pero, el problema es que, debido a que el número se almacena en 32 bits con signo, el valor máximo que se puede almacenar es el 2147483647. Ese será el último segundo contabilizado. Luego, el sistema desbordará, y mostrará -2147483648. A partir de ahí, y de acuerdo a cómo esté desarrollado el programa, éste interpretará que se encuentra en el año 1970 o 1901. El número 2147483647, corresponde a la hora 03:14:07 (UTC) del 19/01/2038.
Esto es válido para todo los sistemas tipo Unix (Linux, por ejemplo), y para muchos programas, escritos en C.
A diferencia del Y2K, este problema no es tan fácil de resolver. Utilizar números de 64 bits lo haría, pero quebraría la compatibilidad binaria del software, cálculos de tiempo y todo lo derivado, almacenamiento de datos, etc.
Por suerte, se está migrando a sistemas operativos con arquitecturas de 64 bits. Aunque esto llevará tiempo, se espera que para el 2038 esté la migración finalizada.
Una vez finalizada la migración a 64 bits, no habrá más problemas como éste, por otros 290 mil millones de años. No estaré aquí para abrir un nuevo tema al respecto, así que deberá ocuparse otro...
Finalizar lectura.

r_NO:
Y2K se llamó a un presunto problema derivado de la forma en que la mayoría de los programadores almacenaban el año en las fechas, utilizando sólo los dos últimos dígitos. De esta manera, se asumía que a partir del 01/01/2000, sólo funcionaría correctamente el software que incluyera el "19" antes de los dos últimos dígitos del año. A pesar de las catastróficas predicciones, aún estamos aquí, como siempre.
Continuar en r_SI.

Macuy
17/02/2009, 14:15
Dato muy interesante Arielo, yo uso linux, sin embargo, no estaba enterado de esta info.... Supongo que en los 28 anios que faltan, se inventaran algo para la migracion completa a 64 bits...

Xaludos Bro

Arielo
17/02/2009, 14:39
Bueno... Si a alguien le sirvió, ya valió la pena haberlo compartido, entonces... :thumb:

El tema es que este problema sí es real, no como el del Y2K ...

Macuy
17/02/2009, 22:40
Bueno... Si a alguien le sirvió, ya valió la pena haberlo compartido, entonces... :thumb:

El tema es que este problema sí es real, no como el del Y2K ...

Si, y es interesante, pues yo desconocia como manejaban las fechas los sistemas unix. Recuerdo que con el Y2k lei algo de porque a unix no le afectaria, pero no lei que era para tanto....

xaludos