Y2K38: el problema del año 2038 o efecto 2038

thumbnail

A finales de 1999 fuimos testigos de una curiosa situación en la que la ignorancia o el interés por llamar la atención de muchos medios de comunicación alarmaran a la población con el conocido como efecto 2000 o Y2K. Según algunos agoreros, se suponía que la tecnología de la que tanto dependíamos ya entonces iba a dejar de funcionar por culpa de un error de software que haría que las fechas pasaran de 1999 a 1900 otra vez. Si estás leyendo esto está claro que esas predicciones apocalípticas no se cumplieron. ¿Ocurrirá lo mismo con el efecto 2038?

En la película Maximum Overdrive de 1986, la única dirigida por Stephen King y que en España se llamó La rebelión de las máquinas, como bien dice su título en castellano, la tecnología cobraba vida y decidía atacar a los seres humanos. Esta fantasía apocalíptica se ha repetido una y otra vez tanto en cine como en televisión, literatura, cómics o videojuegos.

Y es que al ser humano siempre le ha preocupado que la tecnología falle y las terribles consecuencias que puede ocasionar en una sociedad en la que esta nos provee de electricidad, controla el tráfico por tierra, mar y aire, gestiona las comunicaciones e incluso nos ayuda a vivir, en el caso de maquinaria hospitalaria. Otro gran ejemplo es RoboCop de 1987, dirigida por Paul Verhoeven, y en la que vemos el daño que puede hacer la tecnología cuando falla en una escena ya mítica protagonizada por el robot policía autónomo ED-209.

Esta fantasía o preocupación la llevamos todos incorporada cual meme, como diría el biólogo Richard Dawkins, y que se nos ha transmitido de generación a generación a través de la ficción o del intercambio cultural. No es de extrañar, pues, que a medida que se acercaba el año 2000, los medios de comunicación de todo el mundo empezaran a tocar las campanas del Apocalipsis alertando de los peligros que supondría el recién descubierto para muchos efecto 2000. Las centrales eléctricas dejarían de funcionar, la maquinaria hospitalaria fallaría y millones de pacientes asistidos fallecerían, los ordenadores de Wall Street y de los bancos de todo el mundo darían errores y nuestras cuentas bancarias podrían quedar a cero.

El futuro ya está aquí

Historias como estas, otras más suaves y algunas más exageradas todavía, inundaron la prensa de aquel entonces ante algo que o bien desconocían o no comprendían del todo, un simple error de software consecuencia de no prever que tarde o temprano llegaríamos al año 2000 y más allá por muy lejos que nos pudiera parecer.

Por ahorro de memoria o por costumbre, el almacenamiento de fechas en cualquier máquina se hacía con dos cifras, tan habituados como estábamos al siglo XX. El problema era, ¿qué ocurriría cuando se pasase del año 99 al 00? ¿Las máquinas creerían estar en 1900? Programadores e ingenieros de todo el mundo hicieron su trabajo y las devastadoras consecuencias que se habían predicho no fueron tal, si bien sí que hubo algún problema más bien anecdótico que da para otro artículo.

Tras veinte años del efecto 2000 o Y2K, la pregunta que deberíamos hacernos es si ocurrirá lo mismo con el conocido como problema 2038 o efecto 2038. ¿Los medios de comunicación y las redes sociales difundirán el alarmismo? ¿O la tecnología ha evolucionado lo suficiente como para superar este error herencia de la tecnología de los años 70 del siglo pasado?

El efecto 2038

Lo que se conoce como problema del año 2038, efecto 2038 o Y2K38, es un error de software similar al que se conoció como efecto 2000. En esta ocasión, también afecta a la manera en que la tecnología digital registra y almacena la información relacionada con el tiempo, y más concretamente con el sistema POSIX, un estándar aceptado mundialmente y que tiene su origen en UNIX, el sistema operativo desarrollado en 1969 por Dennis Ritchie,  Ken Thompson y Douglas McIlroy, entre otros.

En concreto, este sistema POSIX cuenta el tiempo de una forma curiosa: contando los segundos transcurridos a partir del primero de enero de 1970. Esta manera de contar el tiempo afecta a gran parte del software moderno debido a que, más allá de UNIX, también se emplea en programas y sistemas operativos desarrollados con el lenguaje de programación C, también creado por Dennis Richie, uno de los padres de UNIX.

¿Y cuál es el problema? En arquitecturas de 32 bits, las más populares en las últimas décadas, calcular el tiempo siguiendo el sistema POSIX tiene una limitación, y es que no puede contar más allá de una fecha concreta, las 3:14:07 UTC del 19 de enero de 2038. Una vez el contador de tiempo de cualquier software que emplee ese sistema llegue a la última cifra que puede representar, volverá al principio, lo que implicará volver al 1 de enero de 1970. Como decía, un problema similar al efecto 2000.

Los 64 bits al rescate

Curiosamente, aunque por un lado se alerta de la peligrosidad del efecto 2038 y que podría ser peor que el efecto 2000, resulta que la evolución natural de la tecnología hace que el problema se resuelva en parte. Y es que seguramente el ordenador, smartphone o tablet con los que estás leyendo este artículo, empleen un procesador de 64 bits, superior a la arquitectura de 32 bit causante del problema del 2038.

Las arquitecturas de 64 bits y, en consecuencia, el software programado para 64 bits de los sistemas operativos y software actuales tienen la capacidad de procesar valores mucho mayores, de manera que el problema del año 2038 ya no es tal en estas tecnologías.

Pero, claro, la arquitectura de 64 bits no está tan extendida como podríamos imaginar. No sólo en la computación doméstica. Industrias o empresas de todo el mundo emplean sistemas embebidos de 32 bits, y qué decir de internet. Como ejemplo de las consecuencias del efecto 2038, en 2014 medios como la propia BBC se hacían eco de un curioso hecho: el contador de visionados de YouTube del vídeo Gangnam Style de PSY se había “roto” al superar la cifra mágica de 2.147.483.647, que resulta ser el valor máximo que puede contar la arquitectura de 32 bits.

Para el usuario medio, el efecto 2038 puede tener consecuencias si cuando llegue el momento todavía sigues usando software tan antiguo como versiones anteriores a Android 5 (2014), iOS 7 (2013), Windows XP (2005) o macOS 10.7 (2010). Y en Linux, desde 2016 el problema está más que solucionado en su Kernel. De todas maneras, todo apunta a que los dispositivos que empleen esas versiones de software ya habrán sido sustituidos por otros de 64 bits más pronto que tarde.

Respecto a los sistemas UNIX que manejan los servidores web de millones de páginas y servicios de internet, todavía están a tiempo de ser reemplazados, pero teniendo en cuenta que más del 70% de éstos emplean UNIX o derivados frente al 29% que usan Windows, según datos de W3Techs a enero de 2020, queda mucho trabajo por hacer. Por suerte, si miramos la letra pequeña, de ese 70%, el 48% emplea Linux, que en sus versiones posteriores a 2016 ya está preparado para vérselas con 2038.

Otro apartado que merece atención son los sistemas embebidos, difíciles de actualizar debido a que funcionan constantemente y rigen infraestructuras delicadas como centrales eléctricas, suministro de gas o agua, transporte…

Tal y como ocurrió con el efecto 2000, el tiempo dirá hasta qué punto el alarmismo está justificado y cómo afectará 2038 a la tecnología que funcione en aquel entonces. Y con algo de suerte, todos seremos testigos de ello.

Fuente: https://hipertextual.com/

Scrum Master & Product Owner

Leave a Reply

Your email address will not be published. Required fields are marked *

Back To Top