Esta la fecha en la que podría producirse un segundo efecto 2000, pero esta vez en equipos linux. Recordemos que hace ya 8 años, el mundo temblaba por que el efecto 2000 podría colapsar la informática del momento, esto era debido a que la mayoría de aplicaciones usaban un sistema de dos dígitos para contabilizar los años, esto hacía que despues del año 99 (1999) pasaríamos al 00 (1900), algo que podría desestabilizar algunas aplicaciones.
Ahora parece que puede ocurrir algo parecido con los equipos Unix. El problema viene por el sistema de 32 bits usados para para almacenar la fecha. Recordemos que el binario es un código de 0 y 1 que representan los valores de true/false que puede reprensetar un bit, por lo tanto 32 bits serían una relación de 32 digitos que podrían ser 0 o 1.
Partiendo de que la primera fecha usada para el famoso timestamp de UNIX (POSIX) fué el 1 de Enero de 1970 a las 12:00:00 AM siendo en binario de 32 bits:
// 01-01-1970 12:00:00 AM
00000000 00000000 00000000 00000000
Rellenando todos los bits siguiendo las normas del código binario llegamos al 19 de Enero de 2038 a las 03:14:07 AM que se representaría en binario de 32 bits de la siguiente forma:
// 19-01-2038 03:14:07 AM
11111111 11111111 11111111 11111111
Por lo tanto, si queremos ir al siguiente bit nos vamos al :
// 10000000 00000000 00000000 00000000
Esto producirá que programas y sistemas operativos detecten que están en 1901 o 1970 (dependiendo de la implementación) en lugar del 2038. Y teniendo en cuenta que la mayoría de aplicaciones desarrolladas en lenguajes como C se verán afectadas, la cosa podría llegar a ser muy, pero que muy delicada.
Ejemplo gráfico
Imagen obtenida de Wikipedia.
Solución
Por desgracia, para estos equipos actuales basados en arquitectura 32 bits la cosa está complicada. Pero con la llegada de los 64 bits este problema será cosa para el futuro, muy al futuro, concretamente para el Domingo, 4 de Diciembre del año 292,277,026,596. Incluso en los nuevos equipos que irán apareciendo de 128bits darán lugar a fechas algo más lejanas, más exáctamente el mismo día 4 de Diciembre del año 170,141,183,460,469,231,731,687,303,715,884,105,727 de nuestra era.
Por suerte aún nos queda tiempo para ir actualizando nuestros equipos y viendo como avanza la tecnología esto parece remotamente improbable se convierta en un problema, pero por si acaso, estamos avisados.
12 comentarios, 1 referencias
+
#