Ya se están preparando para el caos del año 2038: muchos ordenadores y software fallarán. El superado Efecto 2000 puede repetirse si no se llega a realizar los cambios antes del 2038, y por ahora, no está claro cómo solucionarlo.
En informática, el problema del año 2038 (conocido también por el numerónimo Y2K38) es una amenaza que podría causar que una gran parte del software falle en ese año. El problema afecta mucho a los programas que usen la representación del tiempo basada en el sistema POSIX (Tiempo Unix), que se basa en contar el número de segundos transcurridos desde la noche del 1 de enero de 1970 a las 00:00:00 (ignorando los segundos intercalares).
Esta representación es un estándar de facto en los sistemas tipo Unix y también en los programas escritos para muchos otros sistemas operativos debido al gran alcance del lenguaje de programación C. En la mayoría de sistemas de 32 bits, el tipo de dato time_t usado para guardar el contador de segundos es un entero de 32 bits con signo, es decir, que puede representar un rango de números entre -2 147 483 648 y 2 147 483 647 (-231 y 231-1; 1 bit para el signo, y 31 para representar su valor en complemento a dos), por lo que el último segundo representable con este formato será a las 03:14:07 UTC del 19 de enero de 2038, cuando el contador llegue a 2 147 483 647. Un segundo después, el contador se desbordará y saltará al valor -2 147 483 648, que causará el gran fallo de programas que interpretarán el tiempo como que están en 1901 (dependiendo de la implementación), en vez de en 2038. A su vez, esto causaría cálculo y procesamiento incorrecto y causaría un gran problema.
Aún faltan 12 años, pero muchos ingenieros de sistemas, desarrolladores y expertos en redes ya están planificando el temido Efecto 2038. El mismo problema que tuvimos con el Efecto 2000, pero más complicado de resolver.
El 19 de enero del año 2038, miles de sistemas críticos que controlan la economía, la energía y nuestro dinero, creerán que es el 13 de diciembre de 1901, desatando el caos absoluto en el planeta, si no hacemos nada.
Mucha gente piensa que el Efecto 2000 se exageró, porque no pasó nada. Pero no es cierto. Era un momento de verdadero apocalipsis, pero no pasó nada porque miles de programadores anónimos trabajaron sin descanso los meses y años anteriores, para que no ocurriese una catástrofe. Y lo mismo habrá que hacer con el problema del año 2038.
Qué es el Efecto 2038, y por qué va a ocurrir
Los sistemas y ordenadores que emplean el sistema operativo Unix, cuentan el tiempo de una manera peculiar. Empezaron a contar los días a partir del 1 de enero de 1970, y cada día suman uno. ¿Por qué esa fecha? Según el historiador informático David L. Farquhar, nadie lo tiene claro, pero el consenso es que ese día un ordenador con Unix arrancó por primera vez.
El caso es que este sistema operativo pionero usa un número entero de 32-bits para contar los días, y contando desde el 1 de enero, solo tiene espacio para llegar hasta el 19 de enero del año 2038. Es algo que, cuando crearon el sistema, sabían perfectamente, pero nadie pensaba que su software iba a perdurar 68 años.
Y esa es la clave del asunto: ¿Quién sigue usando ordenadores con Unix, un sistema operativo de los años 70? Pues básicamente, los sistemas informáticos más críticos, que permiten que el mundo siga funcionando.
Por ejemplo, muchos grandes bancos, empresas de seguros y comunicaciones, y aplicaciones empresariales de gran envergadura (CRM, ERP) aún emplean sistemas propietarios como IBM AIX, Oracle Solaris y HP-UX, basados en Unix, porque son sistemas muy estables que pueden funcionar años sin reiniciarse.
También numerosos superordenadores siguen usando variantes de Unix por la misma razón: gran estabilidad, y buen rendimiento con múltiples cuentas y multiprocesadores.
Y aunque Windows ya no emplea el sistema horario de Unix, algunas aplicaciones Windows siguen haciéndolo. Seguro que más de una vez te has encontrado con un fichero de vídeo o texto que tiene fecha de creación el 1 de enero de 1970.
El problema del Efecto 2038, es que no existe una solución unificada para solucionarlo. Estos equipos no están conectados a redes modernas, y son difíciles de acceder. Además cada vez quedan menos programadores expertos en Unix. Y en muchos casos, ni las propias empresas saben cuántos sistemas usan Unix, o dónde están ubicados, porque se instalaron hace décadas.
Faltan 12 años, pero los técnicos informáticos ya tiene marcado en rojo en su calendario, el 19 de enero del año 2038. Van a tener que trabajar mucho creando parches para sistemas operativos y aplicaciones, si quieren que pase tan desapercibido como el Efecto 2000.
O bien, mucho del código actual será completamente re-escrito de aquí a 2039.

