El Problema del 2038: ¿colapso inminente de las computadoras ante el límite de tiempo? Un dilema que amenaza la estabilidad digital
El «Tiempo Unix» es un sistema de descripción de instantes de tiempo (medidos en bits) que comienza la noche en que comenzó el 1 de enero de 1970. Hace 53 años se definió cómo medir el tiempo de los sistemas computacionales de 32 bits, la arquitectura por excelencia en aquellos años y que incluso ahora se utiliza para ciertos equipos.
Sin embargo, el «Tiempo Unix» tiene un problema: no es lineal. Eso quiere decir que tiene un límite, y cuando llegue ese momento, el tiempo en las computadoras y otros dispositivos que operen en 32 bits se reseteará. Esto provocará pérdidas irremediables y molestos bugs en aquellos sistemas que no hayan corregido este error en nuestra programación.
Pasado y futuro
Al estar construido en 32 bits, el «Tiempo Unix» puede contar hasta 2^32 segundos. Eso significa que puede utilizar hasta 4,294,967,296 (cuatro mil doscientos noventa y cuatro millones novecientos sesenta y siete mil doscientos noventa y cinco) bits para representar cada segundo. Si estás un poco más enterado en cuestión de números y computación, te habrás dado cuenta de que hay más segundos en esos 2^32 bits que los que hay entre el 01 de enero de 1970 y el 19 de enero de 2038.
Pero a estas alturas, también habrás notado que la mitad de los bits totales es 2,147,483,648 (dos mil ciento cuarenta y siete millones cuatrocientos ochenta y tres mil seiscientos cuarenta y ocho), o la cantidad de segundos entre ambas fechas, lo que representa 68 años, los cuales se cuentan primero hacia el futuro de 1970 y hacia su pasado. Por lo que, cuando lleguemos al 19 de enero de 2038, el tiempo en las computadoras regresará a los últimos días de 1901 no a 1970, que es cuando se cumplirían los 2147483648 segundos restantes, que van hacia el pasado de 1970.
Todo esto parece un poco confuso, pero hasta ahora, no tiene pinta de que sea un problema que nos pueda causar más que un susto cuando en 14 años algunas computadoras marquen que estamos en 1901, pero ¿Realmente solo es eso? La respuesta es que no, no solo eso sucederá. De lo contrario no se llamaría «El Problema de 2038″.
Sin embargo, la forma de arreglar este problema es relativamente sencilla pues en la mayoría de los casos basta con migrar los sistemas de 32 bits a 64 bits. De esa manera, los dispositivos y software de 64 bits tienen la capacidad de contar hasta 292 mil millones de segundos, más de 20 veces la edad del Universo. Por lo que tendremos tiempo de sobra para actualizar nuestros sistemas antes de llegar nuevamente a un problema como el del 2038.
Fallas de todo tipo
Entre los problemas que pueden ocurrir dentro de los sistemas que no logren migrar a los 64 bits o que no estén al tanto de esta situación están:
- Errores en cálculos temporales: las aplicaciones y sistemas que no estén preparados para el desbordamiento de tiempo para 2038 pueden llegar a realizar cálculos incorrectos. Esto llevaría a errores en la programación y sincronización de eventos.
- Fallas en sistemas embebidos: los dispositivos embebidos son aquellos de control industrial o dispositivos electrónicos, estos podrían experimentar fallos si sus funciones dependen del tiempo.
- Problemas en bases de datos: un cambio de fecha repentino podría afecta la integridad de archivos y bases de datos que almacenan información de manera temporal. Esto se traduce en problemas de recuperación de datos y organización.
- Autenticación y seguridad: sistemas que dependan de autenticación temporal tendrán problemas si no arreglan su programación.
- Pérdida de sistemas antiguos: existen dispositivos y herramientas que utilizan sistemas antiguos para cumplir sus funciones tales como microscopios electrónicos o telescopios. Hay empresas que desarrollaron equipamiento científico y que actualmente ya no tienen soporte. Si no se solucionó el problema anteriormente y ya no hay nadie que maneje su configuración, estas preciadas herramientas podrían llegar a quedar con fallas irremediables.
De cara al futuro
Actualmente, una gran parte de los sistemas han hecho la migración a los 64 bits. Sin embargo, siguen habiendo programas y dispositivos que no lo han hecho. Afortunadamente todavía tenemos poco más de 14 años para solucionarlo o para desarrollar nuevas herramientas que suplan a las que no pueden migrar.
Por lo que no será un evento apocalíptico, tiene solución y es muy probable que cuando llegue, no haya tantos problemas como se predecía en el pasado. Sin embargo, esta situación nos recuerda la importancia de la memoria en las computadoras, porque no tenemos recursos ilimitados y si no tomamos en cuenta sus limitaciones, podríamos terminar con problemas igual o más graves.