Contenido

Martes, 19 de Enero de 2038, 03:14:07 am

1 Feb

+ 13

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

year_2038_problem

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.

  • Llevo un tiempo documentandome acerca de este efecto, y en principio calculo que para esa época ya estaremos usando casi en todos lados procesadores de 64 bits, ya que desde los Pentium 4 (en AMD no se cuando se implementó pero se que antes) se incluyen los 64 bits, solo quedaría que nuestros sistemas sean 64 bits, en mi caso tengo Windows, Mac OS X, y Linux y el único sistema que no uso en 64 es Windows y creo que Mac OS X sera 64 bits completo desde «Snow Leopard».

    En principio no es una gran amenaza, aunque todo es posible, he visto hoy en día servidores y aplicaciones funcionando en versiones obsoletas de Windows (95, 96 y NTs antiguos) debido a empresas que no quieren gastar dinero en actualizar sus sistemas.

    Y una anotación respecto al efecto 2000, realmente no se reseteaba al año 1900, es que ponían la cifra 19 delante de los dígitos que eran variables 00, 01, 02, … (1900, 1901, 1902, …) así llegando hasta 19 + 99 (1900) que al pasar al nuevo año quedaría algo así como 19 + 100 (19100), pero al estar programado para visualizar las dos ultimas cifras se vería 1900.

    Hace no mucho me encontré con una web que ponía: «Hoy es XX de diciembre de 19108». Era de una web de turismo de alguna comunidad autónoma, o algún organismo oficial, o eso recuerdo, si lo encuentro de nuevo os pongo el link.

    Saludos

  • Será cumpleaños 51. Un buen acontecimiento que todo se colapse, todos recordaran cuando Jordi el Grande superó el medio siglo!! jaja

  • Mirad, encontré un ejemplo, no es el que buscaba pero bueno, es valido: http://www.moraleja.net/inmobiliaria_lamoraleja/messages/3005.htm
    Si os fijais pone «January 14, 19108 at 09:39:38» y mas abajo «22:07:27 1/06/109» (esta ultima fecha esta en mm/dd/yy)

  • Andres, no quiero tirarle mala onda a tus calculos, pero según los mayas, todo el kilombo se viene en el 2012!

    Jejeje, Saludos amigo!

    Bepo

  • @Nicolás Quiroga: Pues tendremos que darnos prisa en hacer todo eso que siempre quisimos hacer 😀

  • Que curioso todo esto en clase lo tengo que hablar, es curioso curioso 🙂

  • Si en 20 años nuestro campo ha envolucionado a ritmos insospechados, por una parte tenemos 30 años para cambiar todos los sistemas y evitar que se colapsen.

    Para entonces seguramente usemos sistemas de 64 bits por norma y la mayoría de jugones y gente científica use máquinas de 128 o quizás de 256 bits (cosa poco probable pero posible).

    Por otro lado, razón tiene Quiroga con el tema de los mayas, su profecía decía que en 2012 llegará el final de todo… quizás la crisis mundial se alargue todos estos años y nos haga redefinir nuestra propia existencia.

  • «…4 de Diciembre del año 170,141,183,460,469,231,731,687,303,715,884,105,727 de nuestra era…»

    menos mal que has matizado que era de nuestra era, jaja.. 😛

  • En 30 años es crecimiento no lo podemos imaginar, hasta ahora en informática el crecimiento es exponencial y como le en un artículo tecnológico, «si los autos hubiesen evolucionado al ritmo de las computadoras ahora tendríamos autos que vuelan». Creo que aparecerán nuevos problemas que necesiten nuevas soluciones.

  • Andrés te imaginas como sería el mundo sin nada de lo que nosotros hacemos?, me aburriria de todo, si estuviera casado me divorciaria, no se, si eso pasara, me moriria…
    Ojala para ese entonces nos hayamos especializado en otras ramas

    Un abrazo amigo, y adelante con el blog, muy bien 😉

  • Bueno… Ya nos preocuparemos en el 2037, de momento Carpe Diem que a saber qué queda para entonces. Por un momento me asustaste…

  • Jajajaja «de nuestra era»

    Hace mucho que no regresaba por aquí, se me olvidaba lo excelente que es este sitio.

    ¡Saludos! 🙂

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.