El año 2038 podría hacer que la mayoría de los ordenadores modernos dejaran de funcionar si no nos preparamos para ello. Esto no se debe a un virus masivo o a la degradación del hardware, sino que tiene que ver con la forma en que los ordenadores llevan la cuenta del tiempo.
Casi todos los ordenadores llevan la cuenta del tiempo utilizando un procesador de 32 bits, y cuentan hacia adelante desde las 00:00:00 UTC del 1 de enero de 1970, lo que se conoce como «la época». Este punto en el tiempo se estableció como el estándar para los sistemas informáticos modernos, pero hay un problema importante. Siete segundos después de las 3:14 UTC del 19 de enero de 2038, el sistema de 32 bits que almacena estos datos de tiempo en muchos ordenadores se quedará sin posiciones.
El problema es similar al del efecto 2000, en el que ya no se podía utilizar un valor de 2 dígitos para codificar los años 2000 o posteriores, pero es diferente en el sentido de que este fallo de 32 bits está relacionado con los sistemas tipo Unix y el formato de hora de Unix.
Estas similitudes con el efecto 2000 han llevado a que el problema de 2038 se conozca como el fallo del milenio de Unix.
El fallo del milenio de Unix
Los procesadores que ejecutan software de 32 bits pueden manejar 232 valores diferentes o 4.294.967.295 números distintos dentro de 4 GB de memoria. Estos sistemas almacenan las fechas y las horas en trozos de 32 bits. En realidad, ese gran número de valores diferentes se reduce a la mitad para el mantenimiento de la hora y otras aplicaciones de almacenamiento de datos. Esto deja 2.147.483.647 valores positivos en los que almacenar datos.
Esto significa que la última hora que se puede representar en el código de tiempo de 32 bits de Unix es 231-1 o 2.147.483.647 segundos después del 1 de enero de 1970. Los tiempos posteriores a este punto se envolverán y se almacenarán como números negativos. Esto se debe a que el sistema de almacenamiento se queda sin enteros para modular, dejando sólo el signo para cambiar. Los ordenadores interpretarán esto como el 13 de diciembre de 1901, y en adelante, en lugar de la fecha real.
Esto puede no parecer un gran problema, pero piense en todas las formas en que usamos el software. Si tiene licencias con marca de tiempo, podría perder repentinamente el acceso a importantes documentos de trabajo, información financiera y mucho más.
Los problemas no sólo empezarán a surgir en 2038, cualquier software que utilice fechas futuras tendrá que ser arreglado pronto. Los programas que trabajan con fechas de 20 años en el futuro, como los fondos de inversión y los programas de programación avanzados, necesitan ser arreglados a más tardar en 2018.
Todo esto puede sonar como una solución simple, sólo hay que cambiar la fecha de finalización del método de almacenamiento, pero no es tan simple. Los ingenieros informáticos que están detrás de los juegos y las aplicaciones que tienen periodos de espera ya se están encontrando con problemas a la hora de codificar las fechas más allá del 19 de enero de 2038. Debido a que el método de almacenamiento es Unix de 32 bits, es imposible para estos programadores de terceros codificar fechas más allá de este tiempo.
RELACIONADO: 12 SITIOS WEB MÁS ANTIGUOS DE LOS AÑOS 80 Y 90 QUE SIGUEN EN LÍNEA HOY
Pero y qué, te preguntarás. Las fechas se cambiarán, los programadores ya están esperando estos problemas y cualquier problema potencial no causará pánico, simplemente se arreglará rápidamente. Pues bien, esto no es exactamente cierto.
Los sistemas de transporte, incluidos los equipos de vuelo y los coches modernos, utilizan software integrado que a menudo no se toca. Casi todo en los coches modernos está controlado por su ECU, u ordenador de a bordo, que utiliza el sistema de cronometraje de Unix para controlar las fechas y horas. Esto significa que este fallo podría interrumpir potencialmente los sistemas de frenado ABS, los controles electrónicos de estabilidad, los controles de tracción y los sistemas GPS; todos ellos podrían verse significativamente afectados.
Todos estos sistemas no requerirán acceso a las fechas para funcionar, pero algunos sí, y es difícil saber cuáles fueron programados con código dependiente de la fecha.
Entonces, ¿cuál es la solución? No hay uno fácil.
Los sistemas integrados, como los de los coches y los electrodomésticos, están diseñados para durar todo el ciclo de vida del dispositivo sin necesidad de actualizar el software. Los aparatos electrónicos conectados pueden arreglarse rápidamente con una actualización de software cuando llegue el momento, pero son los sistemas integrados los que probablemente causarán más estragos en 2038, ya que la mayoría no se actualizarán.
Una opción es cambiar el sistema de almacenamiento de datos del entero de 32 bits a un entero de 32 bits sin signo. Esto permitiría teóricamente almacenar la fecha hasta 2106, pero cualquier sistema que utilizara una fecha anterior a 1970 se encontraría con problemas para acceder a estos datos.
Si se aumenta el almacenamiento de datos a 64 bits, nos encontraríamos con problemas de compatibilidad de almacenamiento entre los sistemas más antiguos que sólo utilizan el almacenamiento de datos de 32 bits.
Actualmente no hay una solución universal al problema, e incluso las correcciones más aceptadas siguen teniendo fallos en ciertas áreas de uso. Sin embargo, hay noticias positivas al final de esto.
La mayoría de los nuevos equipos electrónicos están diseñados para utilizar el método más reciente de almacenamiento de datos de 64 bits. Un entero de fecha tan grande se extendería 20 veces más que la edad actual estimada del universo, aproximadamente 292 mil millones de años a las 15:30:08 UTC del domingo 4 de diciembre de 292.277.026.596. Así que tu iPhone podría estar a salvo hasta entonces.
Por suerte, este problema es bien conocido y se ha estudiado a fondo, lo que significa que los ingenieros informáticos probablemente resolverán los problemas, al menos con el software que se sigue actualizando y manteniendo. Sin embargo, ¿en cuanto a ese Prius de 1997 en perfecto estado que está en tu garaje en 2038? Bueno, es posible que no puedas conducirlo después de las 3:14 AM de enero de 2038, gracias a su ordenador de a bordo ahora defectuoso.