Una advertencia marcada sobre la próxima Epochalypse, también conocida como el «problema del año 2038», proviene del pasado, ya que los restauradores del Sistema Nacional de Museo de Computación han descubierto un problema de falta de alquiler mientras trabajan en sistemas antiguos. Epoch-Alypse Now: BBC Iplayer Flaunts 2038 Fecha de corte, ofrece un juego de infraestructura lejos Leer más Robin Downs, un voluntario que recientemente participó en una exposición de equipo de Corporación de Equipos Digitales (Dec) en el Museo, estaba presente para demostrar el problema al registro de la gran galería de sistemas del museo, que ahora ahora alberga un PDP-1/73. El software de la máquina ya había sido reparado para el problema Y2K, donde el uso de dos dígitos para almacenar el año causó dolores de cabeza cuando el siglo llegó. «Y2K», explicó Downs, «era principalmente un problema de programación de aplicaciones … principalmente fue que los programadores de aplicaciones no tenían en cuenta dos dígitos». El problema del año 2038 es una bestia diferente. Indicando el PDP-11/73, Downs dijo: «Esta máquina no está ejecutando UNIX, pero tenemos un compilador C, y el compilador C es de 1982, por lo que tiene … varios problemas». Según Downs, el sistema operativo fue parcheado para Y2K a fines de la década de 1990, pero no usa la misma estructura de tiempo para su fecha y hora interna. «Entonces, el compilador C en esto, ya ahora, cuando le preguntas cuál es la hora y la fecha, se equivoca. Devuelve la hora correcta, pero la fecha incorrecta». Molesto, pero solucionable. El equipo trabajó en el tema. Sin embargo, cuando Downs lo estaba probando moviendo el reloj del sistema hacia adelante, sucedió algo inesperado. Movió el reloj hacia adelante a 2036, y todo parecía estar bien. Luego, en 2037, un año antes de que se deba la época de la época, el programa se estrelló. «Resulta», dijo Downs, «la función de tiempo tiene otro error. Indocumentado, desconocido, donde al comienzo de 2037, cualquier programa que llame a la función de tiempo se bloquea». «Así que encontramos errores que existen, antes de 2038, al escribir esto que no sabíamos». El problema del año 2038 ocurre en los sistemas que almacenan el tiempo UNIX, el número de segundos desde la época de Unix (00:00:00 UTC el 1 de enero de 1970) en un entero firmado de 32 bits (64 bits es un enfoque moderno, pero los sistemas heredados tienen la costumbre de demorarse). A las 03:14:07 UTC el 19 de enero de 2038, el segundo mostrador se desbordará. En teoría, esto dará como resultado una hora y una fecha que se devuelva antes de la época – 20:45:52 UTC el 13 de diciembre de 1901, pero eso no sucedió para los bajos. Él dijo: «Lo que esperábamos era que la función de hora local debería regresar 1901. Eso es lo que pensamos que sucedería». En cambio, volvió a 1970. «Ok», dijo Downs, «por lo que la función de hora local tiene un error en el que se remonta a 68 años en lugar de a -68 años …» Entonces, podría haber problemas en el compilador. Problemas con cómo el código maneja el problema. Problemas con lo que las máquinas realmente podrían hacer. Y así continúa. El ex ingeniero de Microsoft Dave Plummer es optimista de que el problema se resolverá a tiempo. Le dijo a The Registro: «Dado que el contador comienza desde la hora actual, cualquier cosa que se esté ejecutando cuando se transfiera en 2038 será sospechoso. Es decir: no tiene que haber estado funcionando por mucho tiempo. ¡Si bien es concebible que hay cosas importantes que aún dependen de GetTickCount () o similares, lo que avanzaría a los 13 años que participarán suficientes para encontrarlos!». Ingenieros en 12 o 13 años y se les da un código heredado para aprender. «Hay un alcance enormemente mayor para que las cosas salgan mal en un grado menor o mayor que para Y2K». ®