
ARTDEPARTMENT

El "Finalidad 2038" —igualmente conocido como Epochalipsis— es una amenaza comparable al popular "Finalidad 2000". Sin incautación, recientes hallazgos en el Museo Franquista de la Computación del Reino Unido revelan que esta munición de tiempo digital podría incluso explotar antaño de lo previsto, poniendo en aventura no solo sistemas obsoletos, sino igualmente infraestructuras y dispositivos aún en uso.
En 1999, gobiernos y empresas de todo el mundo trabajaron contra cronómetro para evitar el caos que podría deber provocado el buh del "Finalidad 2000", donde el uso de solo dos dígitos para representar el año amenazaba con devolver los relojes digitales a 1900. El problema, si admisiblemente masivo, fue en gran medida una cuestión que afectaba a la programación de las aplicaciones.
Pero... el atmósfera coetáneo es desigual. Según explicó Robin Downs, voluntario del museo y doble en sistemas antiguos, el decreto de 2038 se origina en cómo Unix —y por extensión, múltiples sistemas derivados, como Linux— almacena el tiempo: un contador de segundos desde el 1 de enero de 1970, guardado en un inconmovible con signo de 32 bits.
A las 03:14:07 UTC del 19 de enero de 2038, este contador "desbordará" y comenzará a devolver fechas absurdas, como si el tiempo hubiera retrocedido a 1901 o, según algunos casos, a 1970.
El descubrimiento que emergencia a la comunidad técnica se produjo durante la restauración de un PDP-11/73, un ordenador de la histórica Digital Equipment Corporation.
Aunque este equipo ya había sido parcheado contra el Y2K, al probar su compilador de C de 1982 apareció un decreto insospechado:
"Hemos opuesto errores que ocurren incluso antaño de 2038, vulnerabilidades que ni siquiera conocíamos".
Esto significa que los sistemas vulnerables no colapsarán exclusivamente en la época crítica que ya conocíamos, sino que podrían marrar de forma escalonada a lo generoso del año preparatorio, dificultando aún más la prevención.
El bug de 2037 en el PDP-11 parece un error puntual del compilador 'libc' de los primaveras 80: no afecta a los Linux actuales
Linux, como la mayoría de sistemas tipo Unix, igualmente usa la representación de tiempo time_t basada en segundos desde el 1 de enero de 1970. En sistemas de 32 bits, esa variable suele estar definida como un inconmovible con signo de 32 bits... lo cual significa que, al montar al 19 de enero de 2038, simplemente "se dará la dorso" y las funciones de tiempo (time(), localtime(), etc.) devolverán fechas inválidas.
Por fortuna, en sistemas de 64 bits, el problema no existe, ya que time_t puede representar fechas por miles de millones de primaveras alrededor de delante o detrás.
A partir del kernel 5.6 (2020), se introdujo soporte completo para que time_t sea de 64 bits incluso en arquitecturas de 32 bits. Esto permite que las aplicaciones que se recompilen con las nuevas librerías puedan manejar correctamente fechas posteriores a 2038, pero todo el software debe recompilarse/adaptarse; de lo contrario, el soporte del kernel no servirá de nadie.

Tranquilo, en un Linux flamante de 64 bits actualizado no hay peligro
Mientras que distribuciones modernas como Debian ya están migrando de modo preventiva a estructuras de 64 bits para juntar el tiempo, millones de dispositivos y programas en industrias como telecomunicaciones, transporte o banca siguen dependiendo de arquitecturas antiguas.
El exingeniero de Microsoft, Dave Plummer, se muestra eufórico: confía en que habrá tiempo suficiente para identificar y modernizar los sistemas críticos. Pero Downs advierte que muchos ingenieros jóvenes, e incluso programadores profesionales en C, desconocen la magnitud del problema:
"Estamos construyendo hoy dispositivos y software que esperamos que duren más de 12 primaveras, y no todos están preparados para esta contingencia".
La diferencia secreto entre el "Finalidad 2000" y el del 2038 radica en su imprevisibilidad: mientras que el primero afectaba de modo uniforme a cualquier sistema que usara fechas con dos dígitos, el segundo se comporta de forma desigual. Cada compilador, sistema activo o dispositivo puede reaccionar diferente frente a el desbordamiento. Así lo explica Downs:
"No existe una respuesta universal. A menos que se pruebe cada dispositivo y cada lectura de software por separado, no sabremos cómo reaccionará. El ganancia de error es mucho maduro que en el Y2K".
Aún faltan más de doce primaveras para el 19 de enero de 2038, sí, pero la historia nuevo demuestra que los problemas informáticos globales no se resuelven de un día para otro, y que la complacencia puede ser el peor enemigo.
Vía | The Register
Imagen | Marcos Merino mediante IA
En Xataka | Yo trabajé el 31 de diciembre de 1999 a las 23.59
Compartir este artículo
Consultoria Personalizada
¡Si aun no tienes presencia en internet o
necesitas ayuda con tus proyectos, por favor, escribenos!