Resolviendo el problema del año 2038


19 de enero 2038....

Por favor, te recomiendo entender antes de leer este texto que conozcas del origen y la explicación del problema del año 2038 el cual encontrarás a detalle en mi podcast.

A manera de resumen, si es que no quieres por nada del mundo escuchar el podcast, para el año 2038 una gran cantidad de computadoras que emplean el sistema operativo UNIX con equipo antiguo al igual que gran cantidad de dispositivos dejarán de funcionar debido a que presentarán errores al momento de manejar las fechas, esto porque la capacidad para seguir calculando las mismas a partir del 19 de enero de 2038 no será posible, en pocas palabras, habrán llegado al máximo de su capacidad para calcular fechas después de ese momento.

Es por eso por lo que a continuación expongo algunos lineamientos claros para afrontar con mucho tiempo de anticipación esta situación, y si todo sale bien, para entonces no pasará nada o solo algunos problemas que esperamos sean menores, si todos los posibles afectados entienden esta situación y reaccionan ya.

Si crees que tienes tiempo, ten cuidado. El problema ya empezó a manifestarse en equipos que están calculando aspectos como fondos de pensiones a futuro, desde 2018 una de estas empresas no pudo calcular los intereses de estos fondos a 20 años, debido a este problema.            

Detectando lo que tiene el problema.

  1. ¿la arquitectura de tu equipo es de 32 bits y emplea el sistema operativo UNIX?

Esta es la primera pregunta que debes de hacer. En términos generales son equipos y/o accesorios electrónicos que funcionan con el sistema operativo UNIX con una arquitectura de 32 bits, esto significa que son equipos muy viejos que siguen en operación. Desde hace más de 12 años muchos de estos equipos han sido reemplazados por arquitecturas de 64 bits. Esto significa que no habrá problema alguno de cálculo de fechas con estos pues funcionarán bien por más de 292 billones de años, y creo que el sol dejará de funcionar antes de eso.

Al referirme a accesorios hablo de satélites, refrigeradores, hornos y otros equipos principalmente de uso industrial pero no se escapan algunos en ambientes caseros que controlan el tiempo con el ambiente operativo UNIX, pero a diferencia de una computadora, todos los programas o software están convertidos en Firmware, esto es, software construido como hardware, residen los programas dentro del equipo, hacen sus operaciones sin requerir de actualizaciones, son pues como una caja negra, cerrada, que funciona pero no hay forma de reprogramarla. Comúnmente se les conoce por eso como “sistemas embebidos” y tendrán que ser reemplazados.

2. ¿Migraste a una arquitectura de 64 bits, pero ¿y las aplicaciones?

El sistema operativo UNIX (el conjunto de programas que administran y controlan los recursos de una computadora, tales como la memoria, el almacenamiento, etcétera) es uno de los más antiguos, estables y poderosos que existen desde hace décadas. Con el tiempo, los equipos en los que corren los programas de estos equipos han evolucionado y muchos son ya de 64 bits.

Sin embargo, esto no quiere decir que el problema está resuelto. Lo anterior precisamente por una de las grandes ventajas de este sistema operativo, pues una de sus ventajas se conoce como la portabilidad, esto es, que una aplicación o programa “viejito” puede correr como si nada en una máquina muy moderna.

Para que un programa funcione en una computadora pasa por un proceso que se llama compilación, o dicho en lenguaje sencillo, se traduce de la estructura de un programa que escribe un programador a lo que las computadoras entienden que es el famoso “lenguaje de máquina” o código objeto para las personas técnicas.

Si las aplicaciones que se migraron a un equipo de 64 bits no fueron recompiladas para el ambiente de 64 bits, esto es, no se les tradujo para ahora aprovechar las ventajas de ese nuevo tipo de equipo, todas las aplicaciones siguen creyendo que tienen solo 32 espacios para calcular las fechas, y por consecuencia fallarán.

Cuando se trata de un solo programa esto suena fácil, y de entrada no lo es. Es necesario muchas veces hacer ajustes en lo que se conoce en ciencias computacionales como librerías, que, dicho de manera simplista, son los lugares de donde se toman las referencias de rutinas y partes de los programas que por ejemplo dibujan una pantalla o piden datos de captura.

Esas librerías deben de tener el manejo del tiempo para aprovechar todos los espacios de memoria que tienen las máquinas nuevas, esto es, 64 posiciones, en vez de las 32 que tenían cuando se programaron.

3. El manejo estándar del tiempo en las computadoras.

Existe un protocolo (método de comunicación) denominado en sus siglas en inglés como “NTP” o Protocolo de tiempo en las redes. En versiones antiguas NTP llegará a su máximo valor en muchos dispositivos, especialmente los sistemas integrados dejando de funcionar. Existen ya versiones nuevas de NTP que no tendrán el problema, pero se debe entonces de asegurar que se está empleando la adecuada.

De manera similar, varios sistemas de GPS o posicionamiento global presentarán el problema.

Lo anterior son solamente 3 escenarios muy genéricos del problema. Realmente hay muchos más temas al respecto de todo lo que puede fallar para 2038

¿Qué hacer ante el problema del año 2038?

No pretendo ser simplista, pero este problema tiene varios pasos generales para ser resuelto:

  1. Inventariar toda la tecnología. En pocas palabras, se debe de tener todo posible dispositivo y equipo que se emplea actualmente y asegurar que no sea de 32 bits empleando los sistemas operativos UNIX y/o Linux. Si se tienen equipos de 32 bits, por favor se deben remplazar por ambientes de 64 bits. El inventario debe ser minucioso, teniendo en mente todo posible “artefacto” o accesorio electrónico. Puedo asegurar que ciertos discos duros, el Boeing 787 y diversos equipos que emplean GPS están entre los que han tenido que ser considerados para correcciones, lo mismo que ciertos sistemas que calculan inversiones e intereses a largo plazo. Esto no es un juego, como se puede apreciar.
  2. Contacto con el proveedor. A la voz de ya, hay que preguntarle a cada fabricante que le extienda un documento certificando que su producto o servicio operará bien en 2038. Puede que la respuesta sea casi en tono de broma por parte de ellos, pero, esto no es broma. Si no pueden responder los desarrolladores de aplicaciones de su empresa u organización, los que crearon los equipos y/o los dispositivos electrónicos, es motivo de preocuparse.
  3. Tomar acción. Se tiene tiempo, pero SIEMPRE pasa algo urgente, y esto se va dejando para después, hasta que llegue el 19 de enero de 2038 y todo sea demasiado tarde. Una buena práctica para resolver el problema del año 2000 fu establecer un comité interno formal para llevar a cabo estas acciones, recordando que no basta resolverlo para uno mismo, hay que compartir esta información con sus clientes y proveedores, pues, de no hacerlo, de cualquier forma, se tendrá un problema, pues dependemos de que esos clientes y proveedores también lo resuelvan para poder operar de manera normal.

Como el dicho dice: “Se tenía que decir y se dijo” No hay excusa, si escuchaste mi podcast y leíste este episodio no hay pretexto que valga para iniciar a responder a este tema.


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s