Efecto 2038 ¿qué es? ¿ trae el próximo apocalipsis?

No, desde luego que no será el fin de la humanidad, como tampoco en su día el Efecto 2000. Pero alguno ha visto el titular y ha pensado ¿Qué es el efecto 2038?. Primero toca hacer un poco de historia y reflexión.

La primera reflexión es ¿cómo le decimos a un ordenador que mida el tiempo? Convertir la fecha ya la hora en algo que una computadora regida por dígitos binarios pudiera entender y con lo que pudiera trabajar era un tema complejo. Cuando el Instituto de Ingeniería Eléctrica y Electrónica se puso a estandarizar este tema creó la norma IEEE 1003, también llamada POSIX a propuesta de Richard Stallman, donde se define que la hora, tomando a los sistemas UNIX como referencia, se expresa con un entero con signo, de 32 bits, que marca los segundos transcurridos desde el 1 de enero de 1970.

¿Qué significa que el número de segundos se almacene en un entero con signo? Pues que de los 32 bits que se usarán para guardar el número el bit menos significativo (el que está a la izquierda) se utiliza para guardar el signo (es decir, si el número es positivo o negativo) y los 31 bits restantes para guardar el resto del número, implicando que el número más grande que podemos guardar es 231-1.

Cuando lleguen las 03:14:07 UTC del 19 de enero de 2038 el número almacenado en un equipo de 32 bits como fecha será el 01111111 11111111 11111111 11111111, que pasado a decimal serían 2.147.483.647 segundos que habrían transcurrido entre la fecha de referencia de inicio y ese momento. Un segundo después el número almacenado pasaría a ser 10000000 00000000 00000000 00000000, recordando que el bit de la izquierda se interpreta como el signo, que acaba de cambiar, por lo que la cifra sería negativa: -2.147.483.648 segundos, o lo que es lo mismo, “viajaríamos en el tiempo” al 13 de diciembre de 1901. Es posible que hace poco hayas leído una noticia sobre que Youtube cambió su contador de visitas por culpa del gran número de reproducciones del Gangnam Style, era exactamente este mismo problema.

El comportamiento de determinados programas y sistemas ante esta eventualidad es algo que no podemos aventurar, como pasaba hace 15 años cuando hablábamos del Y2K, el efecto 2000. Aunque un día hice la prueba en un equipo antiguo y no me generó problemas más allá del salto de fecha (reconozco que no le trasteé mucho, a fin de cuentas era un equipo que iba para trashware).

Por otra parte, ya hace unos años que trabajamos con sistemas de 64 bits por lo que esta eventualidad está solucionada para varios milenios (pensad que al ser cifras binarias la cantidad aumenta exponencialmente). Todavía quedan equipos de 32 bits, ahora mismo de hecho os escribo desde uno, pero en el transcurso de los años estos irán retirándose para dar lugar a nuevos equipos. Es muy poco probable que en 2038 nos encontremos con equipos o software pensado para 32 bits, así que si el apocalipsis llega no lo hará por ahí, por este lado puedes estar tranquilo.

Anuncios

3 comentarios en “Efecto 2038 ¿qué es? ¿ trae el próximo apocalipsis?

  1. Interesante 😀

    Por cierto, tengo un par de portátiles trashware que guardo para mi próxima visita a SDC… joyas de la corona. Te hacen? Van a juego con una lata de Dr. Pepper Cherry que debe estar corroída en el fondo de la nevera… xD

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s