¿Preocupado por el efecto 2038? Linux ya lo ha solucionado

¿Preocupado por el efecto 2038? Linux ya lo ha solucionado

Rubén Velasco

La informática aporta muchas cosas buenas a nuestro día a día y a todo el mundo en general. Sin embargo, muchas veces se ha dicho que depender tanto de ella a la larga puede traernos problemas. Hace 20 años, tuvo lugar el «efecto 2000», un problema con la forma en la que los ordenadores gestionaban las fechas. Aunque este efecto pasó, ahora la informática está amenaza por otro suceso similar: el efecto 2038. Y aunque aún faltan 18 años para que ocurra, los desarrolladores ya han conseguido solucionarlo.

Un nuevo «efecto 2000» a la vista

El famoso «efecto 2000», también conocido como «problema del año 2000» o «error del milenio» fue un error, bastante absurdo, causado por una mala costumbre de los programadores. Al programar, estos programadores se habían acostumbrado a omitir la centuria en las fechas de los archivos almacenados en los discos duros. Esto significaba que, después del 31 de diciembre de 1999, la siguiente fecha iba a ser el 1 de enero de 19xx (normalmente 1980). No se daba el salto al año 2000.

¿Qué pasaba con esto? Se temía que, después de las uvas, comenzara un efecto cascada en el que todos los sistemas informatizados dejaran de funcionar. Los suministros de luz y servicios básicos quedarían inutilizados. Los bandos perderían el dinero y las fichas de sus clientes. Los teléfonos dejarían de funcionar. Las centrales nucleares explorarían. Un apocalipsis en toda regla. Como en capítulo de la Casa del árbol del terror de la temporada 11 de Los Simpson. Apocalipsis que, obviamente, no llegó.

Sí que ocurrieron algunos sucesos leves a casa del cambio de año. En España, por ejemplo, se detectaron errores irrelevantes en los sistemas de control de dos centrales nucleares y algunos parquímetros dejaron de aceptar los tickets de los clientes. Por lo demás, todo pasó con normalidad. Como un año más. Dando la bienvenida al año 2000.

Lo que sí consiguió el efecto 2000 es que las tiendas de informática generaran cantidades ingentes de dinero a causa del miedo y las mentiras. Todos llevaban sus ordenadores a protegerlos del efecto 2000.

¿Qué pasa con el año 2038?

El Efecto 2038 es más o menos lo mismo que el efecto 2000, pero radica en un origen diferente. Las distros Linux (incluido Android) utilizan un sistema de tiempo basado en Unix que cuenta en binario los segundos transcurridos desde el 1 de enero de 1970 a las 00:00:00.

Los sistemas de 32 bits van a alcanzar el límite de tiempo el 19 de enero de 2038. Esto hará que la fecha de los sistemas sin actualizar vuelva a 1901.

Efecto 2038

Cualquier sistema operativo de 64 bits no va a verse afectado. Windows, macOS, Linux, Android y iOS ya tienen sus respectivos sistemas operativos de 64 bits. Sistemas que llevan funcionando muchos años y que cada vez son los más usados. Hoy en día es absurdo e ilógico seguir usando un sistema de 32 bits. Ni siquiera en equipos ARM.

En un principio se pensaba que este problema no tenía solución. Sin embargo, a falta de aún 18 años, Linux ya ha puesto punto final a este suceso.

Linux 5.6 ya ha solucionado el problema del efecto 2038 para los 32 bits

Uno de los últimos commit del Kernel Linux incluye un parche desarrollado por Arnd Bergmann para solucionar este problema de manera definitiva. A grandes rasgos, el parche opta por eliminar las librerías time_t/timeval/timespec no utilizadas y recomendar a los desarrolladores compilar una nueva librería time_t preparada para registrar fechas más allá del 19 de enero del 2038.

Aunque puede parecer sencillo, en realidad se trata de un cambio bastante grande. Aún tiene que depurarse mucho y probarse en todo tipo de sistemas, arquitecturas y dispositivos. Sin embargo, parece ser la solución más sencilla y viable. Además, este cambio puede llegar también a las versiones 5.4 y 5.5 de Linux. Por lo tanto, no tenemos por qué preocuparnos. Salvo que llegado el momento utilicemos un sistema operativo de 32 bits, con más de dos décadas sin soporte, todo debería estar solucionado.

No vamos a tener que hacer nada. Y, por supuesto, tampoco vamos a tener que pagar nada para «proteger» nuestro ordenador del efecto 2038. Aún faltan 18 años. Y a la velocidad a la que cambia la informática, puede que para entonces nada de lo que usamos ahora siga existiendo. Y de hacerlo, seguro que no funcionará.