Efecto 2038 ¿el nuevo efecto 2000?

Efecto 2038 ¿el nuevo efecto 2000?

Seguro que muchos recordáis con nostalgia los últimos meses del año 1999. Quedaba muy poco para que todos los ordenadores y sistemas del mundo se enfrentaran al temido “efecto 2000”. Aún recuerdo como las principales revistas de informática regalaban un disquete que te permitía comprobar si tu ordenador estaba afectado. Iba a ser el Apocalipsis de las máquinas, el fin del mundo, todo iba a dejar de funcionar… y finalmente, nada. En un altísimo porcentaje de los casos se corrigió sin problemas y todo siguió funcionando. Este “efecto 2000” podría repetirse en unos años, sólo que ahora se llamará “efecto 2038”.

El “efecto 2000” o Y2K, sembró el pánico a finales de la década de los 90. Todo tipo de medios se hicieron eco de este “bug” que afectaba a sistemas antiguos por la forma en que codificaban los datos. Esto fue debido a que utilizan dos dígitos para codificar el año, algo que funcionó sin problemas entre 1900 y 1999. Sin embargo, el cambio de las dos últimas cifras con la llegada del año 2000 podría ser interpretado por el sistema como una vuelta a 1900.

Año 2000

Tal y como os hemos explicado, finalmente no llegó a pasa nada grave. Todos los sistemas siguieron funcionando perfectamente y las empresas se actualizaron a tiempo para evitar cualquier problema. Bastó con retocar el código más viejo y adaptar algunos sistemas para añadir cuatro dígitos al año y terminar con el problema para siempre. ¿Para siempre? Bueno, ahora tenemos en el horizonte otro “bug” informático que se ha bautizado como “efecto 2038”.

¿En qué consiste el “efecto 2038”?

El “efecto 2038” o Y2K38 se producirá cuando pasen 7 segundos de las 3:14 de la madrugada del martes 19 de enero de 2038. Vale, no es algo que esté a la vuelta de la esquina, pero esto nos da un montón de tiempo para abordarlo y solucionarlo sin tener que llegar a las cotas de pánico del efecto 2000. El problema afecta a las aplicaciones que utilicen la representación del tiempo basada en el sistema POSIX.

POSIX Time

POSIX y su forma de contar el tiempo

POSIX es Portable Operating System Interface, con la X de UNIX. En este sistema encontramos la normalización de algunos de los estándares de las aplicaciones multiplataforma. Entre ellos, el que nos afecta es el encargado de medir el tiempo en los sistemas de 32 bits y el que utilizan en sus relojes.

Concretamente, se base en contar los segundos transcurridos desde el 1 de enero de 1970 a las 00:00:00. Es decir, el reloj de muchos de los sistemas es un mero contador de segundos que suma una unidad con cada uno que pasa. Después se convierte al sistema estándar de día – mes – año – hora – minuto y segundo para tener la fecha.

El contador de segundos se define como un entero de 32 bits con signo, pudiendo representar un rango entre -2 147 483 648 y 2 147 483 647 (-231 y 231-1). El último segundo representable con este formato corresponderá a las 03:14:07 del 19 de enero de 2038. Un segundo después, el contador se desbordará y saltará al valor más bajo, es decir, -2 147 483 648.

Esta animación lo explica perfectamente:

efecto 2038

¿Qué pasará después?

En ese momento, los sistemas que cuentan el tiempo de esta forma “volverán» a 1901, concretamente al 13 de diciembre de ese año, confundiendo así la fecha real del sistema. Básicamente, ocurrirá algo similar al efecto 2000 y es que los sistemas pensarán que estamos en una fecha muy diferente con los problemas que eso puede acarrear.

Por el momento, nadie ha sabido afirmar a ciencia cierta lo que ocurrirá si no se soluciona el problema en algún sistema. Puede que haya sistemas donde no termine de pasar nada mientras otros dejen de funcionar o muestren un comportamiento totalmente erróneo.

Esto puede resultar especialmente problemático en sistemas que utilicen POSIX para contar el paso del tiempo como algunos sistemas de vuelo, GPS o automóviles. En todos ellos se utiliza algún reloj de este tipo. También los servidores de Internet, routers o puntos de acceso WiFi.

Los sistemas de 64 bits

El problema no afectará a muchos dispositivos actuales. Todos los basados en 64 bits no sufrirán de estos problemas ya que manejan combinaciones de muchos más dígitos binarios. Esto permite un rango de fechas muy superior. Eso sí, si queda alguno vivo para el 4 de diciembre de 292.277.026.596 es posible que tenga algún problemilla con sus sistemas. (Esto corresponde a 220 veces la edad aproximada del Universo)

Universo

El problema, como siempre, son los sistemas más antiguos que no son compatibles con 64 bits o en los que sería muy cara la migración. Por suerte, los expertos en la materia tienen 22 años por delante para buscar una solución, tiempo más que suficiente para evitar campañas del miedo y anuncios asusta viejas del gobierno.

Archivado en
Banda Ancha

Deja tu comentario