Share
Google+LinkedInPinterest

El efecto 2038

El “Efecto 2038” es un bug que, en cierta medida, se parece al “Efecto 2000” del que tanto se habló en 1999. Este bug, relativo a la codificación del tiempo en los sistemas de 32 bits, nos emplaza a un posible fallo de sistemas en enero del año 2034.

y2kAunque era algo que se conocía, en el año 1999 mucha gente entró en “modo pánico” cuando los informativos y periódicos no paraban de hablar del Efecto 2000. También conocido como Y2K, bajo este término se escondía un bug que podía afectar a sistemas muy antiguos que codificaban el año en dos dígitos; por tanto, la llegada del año 2000 y su “00” podría interpretarse como el año 1900 y se podría desatar el caos absoluto.

Llegó el 1 de enero del 2000 y, finalmente, no pasó nada grave. Los aviones no cayeron del cielo ni se produjo un apagón masivo en el suministro eléctrico, las empresas invirtieron en solventar el problema y todos los temores se quedaron en una especie de leyenda urbana que muchos recordamos como algo del pasado que, realmente, quedó amplificado por los medios de comunicación y algunas campañas gubernamentales algo exageradas.

Quizás sea demasiado pronto para pensar en ello y, por este motivo, no se conozca mucho pero el “Efecto 2000” no es el único bug relativo a las fechas que existe y, de hecho, dentro de 24 años nos enfrentaremos a algo parecido en lo que se conoce como el Efecto 2038.

El Efecto 2038

Dudo mucho que en el año 2038 nos enfrentemos a un apocalipsis como el que algunos anunciaban con la llegada del año 2000 aunque, en cierta medida, estamos hablando de un problema parecido.
En la norma IEEE 1003, también conocido como POSIX, se definen una serie de estándares que normalizan una serie de interfaces para sistemas operativos y, de esta forma, poder crear aplicaciones multiplataforma. Entre los estándares que define POSIX encontramos la medida de tiempos de los sistemas de 32 bits; es decir, el reloj que usan estos sistemas.
El reloj que tienen muchos computadores no es más que un contador de segundos que se va incrementando con cada segundo que pasa. La gracia de este sistema es que se toma una fecha como referencia y, cuando se quiere saber la hora, se mira el contador de segundos y se hace la traslación a formato de fecha tradicional (día, mes, año, hora, minutos y segundos). Concretamente, la fecha de referencia es el 1 de enero de 1970 y, por tanto, el tiempo se mide como el número de segundos que han pasado desde dicha referencia.
En un sistema de 32 bits, la variable del tiempo se codifica como un entero con signo y, por tanto, se deja un bit para almacenar el signo y los 31 bits restantes para codificar los segundos. Si hacemos el cálculo de 2 elevado a 31 obtenemos como resultado 2.147.483.648 segundos que es un equivalente a unos 68 años.
Efecto-2038
Dicho de otra forma, cuando lleguen las 03:14:07 UTC del 19 de enero de 2038, el contador de segundos llegará al máximo número que puede almacenar en positivo y, si se sigue incrementando, se saldrá del rango de los números positivos y, por desbordamiento, entrará en el intervalo de los números negativos. Tras llegar al número 2.147.483.647, el contador se trasladará, en el intervalo de un segundo, al -2.147.483.648 y la fecha del sistema pasará al 13 de diciembre de 1901.
Este gran salto al pasado, evidentemente, no es algo simple y es un bug que se mira con cierta atención porque, al igual que ocurría en 1999, nadie sabe a ciencia cierta los efectos que podría tener en los sistemas desplegados.
64bit¿Son los 64 bits una solución al problema? Obviamente, migrar hacia sistemas de 64 bits elimina el problema pero existen muchos sistemas antiguos (por ejemplo basados en COBOL) que sí requerirán soluciones (o migraciones).
 
Si alguien tiene curiosidad con este tema, quizás le interese probar la herramienta de conversión que ofrecen en Epoch Converter.

Fuente:hipertextual.com
Read More
245

Views

Share
Google+LinkedInPinterest

Hacia un nuevo apocalip-sys

Securus Mundi

Han vuelto al escenario las controversias en torno a los relojes que actualmente utilizan muchas de nuestras computadoras, aunque la oleada de especulaciones ahora gira alrededor del denominado “Efecto 2038”.

Por Enrique Escobar

Enrique Escobar

Enrique Escobar

En el baúl de los recuerdos nos encontramos con la paranoia provocada hace unos ayeres por el cambio de milenio y sus repercusiones dentro del mundo de las TIC; nos referimos expresamente al llamado “Error del 2000”, también conocido como “Efecto Y2K”, cuyas presuntas secuelas invitaban a pensar en una nueva versión del Apocalipsis y obedecían a un error técnico que afectaría a las computadoras que codificaban los años con los dos últimos dígitos, por lo cual la llegada del 2000 podría interpretarse como 1900 y, en consecuencia, se desataría la anarquía en prácticamente todos los sistemas con basamento informático.

Hay que reconocerlo: aun los más escépticos alguna vez hemos cruzado los dedos para que las caóticas profecías de Nostradamus no pasen de ser meras piezas literarias y se queden en el tintero, pero en el mundo tangible no basta con apostarle a la suerte y dejarse arrastrar a voluntad del destino; hay que tomar decisiones, actuar, prevenir…, tal y como hace casi 15 años lo hicieron las empresas y la mayoría de los gobiernos, quienes trabajaron en protocolos de emergencia para anticiparse a un latente desastre.

Entre que eran peras o manzanas, lo cierto es que en aquel entonces la cultura del pánico motivó inversiones que rondaron los 250 mil y 550 mil millones de dólares a nivel global, algo que llegó a considerarse excesivo sobre todo porque al final las computadoras respondieron de manera correcta, incluso las más viejas y de carácter doméstico, pues desde los noventa estos equipos ya preveían los cuatro dígitos del año 2000 y sucesivos.

Por aquellos días hubo hasta quienes argumentaron que sólo se trató de una estrategia mercadológica; como ejemplo, baste mencionar que en enero de 1999 comenzó el rodaje del filme norteamericano Y2K (traducido al español como Pánico en el 2000), el cual se estrenó a finales del mismo año aprovechando “casual y oportunamente” el alboroto popular y el miedo ante el hipotético caso de que todo hubiera fallado durante los primeros minutos del 2000. Podría decirse que, dentro del terreno cinematográfico, el éxito en taquilla de la película en comento no llegó ni a la media de lo originalmente proyectado, pero de que inquietó una que otra neurona y agitó millones de billeteras empresariales, eso ni dudarlo.

El “Efecto 2038”

Aunque el cómputo personal, en el más estricto de los sentidos, ya festejó sus bodas de oro, podemos asegurar que apenas desde hace un par de décadas el pulso de la sociedad comenzó a someterse irremediablemente a los caprichos de la tecnología, donde el común denominador ha tenido que ver con una dependencia extrema respecto de los programas informáticos y muy particularmente del fenómeno llamado Internet.

El comentario viene a colación porque, al igual que como sucedió con el cambio de milenio, hemos estado recibiendo pequeñas dosis de alarma y advertencias por la posible llegada de un nuevo “apocalip-sys”, cuyas implicaciones podrían multiplicarse por miles o millones debido justamente a nuestra tecno-dependencia.

A saber, han vuelto al escenario las controversias con respecto a los relojes que actualmente utilizan muchas de nuestras computadoras, aunque la oleada de especulaciones ahora gira alrededor del denominado “Efecto 2038”; se trata de un bug relativo a la codificación del tiempo en los sistemas de 32 bits, anticipándonos fallos catastróficos en enero del año 2038 y una regresión de los sistemas a la fecha del 13 de diciembre de 1901.

Varios son los puntos de vista en cuanto a este tema: hay quienes afirman que con la simple migración a los 64 bits quedaría todo resuelto (pero existen muchos sistemas antiguos basados en COBOL, por ejemplo, que sí requerirán otro tipo de soluciones); también hay los que en tono sarcástico recomiendan “poner el reloj de una PC de 32 bits en el último día del 2037 y ver si se abre un vórtice a través del tiempo que colapse al universo”; no ha faltado quien, con algo de sentido común, opina que a la velocidad con la cual evoluciona la tecnología muy probablemente los sistemas actuales estarán en la chatarra o que en 24 años no existirán equipos de 32 bits.

Podemos citar razonamientos técnicos, propuestas, ideas encontradas y hasta mensajes apocalípticos con respecto a problemáticas como la del Y2K o el Efecto 2038, pero la verdad de todo lo anterior es que vivimos en un mundo que no puede imaginarse sin las bondades de la tecnología y, por lo mismo, lo más justo sería aprovecharla para lo que fue hecha, sin olvidar -claro está- que en toda película siempre habrá buenos y villanos.

Sólo espero descubrir en qué bando podría ubicarme, pues sinceramente el nuevo filme de Johnny Deep, titulado “Trascendence”, me dejó un tanto desorientado y ahora no sé quiénes son los rudos y quiénes los técnicos, pero de ello platicaremos en nuestro próximo Securus Mundi, donde esperamos contar con su amable lectura y participación.

* El autor es Director de Soporte Técnico en HD México.

eescobar@hdmexico.com.mx

Read More
183

Views