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
246

Views

Share
Google+LinkedInPinterest

¿Qué sistema operativo usa Batman?

Batman es el único superheroe ultra popular que no tiene realmente superpoderes, salvo que contemos ser rico y muy inteligente como un superpoder, más que válido. Los gadgets siempre han sido los aliados número uno del hombre murciégalo, y hoy nos hacemos una pregunta bastante divertida para conocer algo de historia sobre supercomputadoras. ¿Qué sistema operativo tiene la Baticomputadora?
sistema-operativo-batman-baticomputadora
Si ya sabemos que la enorme y gigantesca mayoría de las supercomputadoras del mundo usan Linux, no sería para nada descabellado pensar que la Baticomputadora de millones de dolares hecha en secreto por las industrias de Bruce Wayne para que Batman utilice en su lucha emo contra el crimen, tenga una versión de Linux bastante batipersonalizada.
Para el disfrute de cualquier nerd fanático de la computación y de los cómics, tenemos las teorías de un puñado de usuarios de la red. Hace unas cuantas semanas me encontré gracias a un tuit de un amigo, un thread en StackExchange, donde se debatía si Batman usaba Linux. Como puede esperarse de una comunidad que tiene fama de letrada y experta en informática, o en cualquier cosa, la pregunta no quedó solamente en meras especulaciones y cuentos de hadas, sino que se realizó una interesantísima investigación al respecto, comparto con ustedes las conclusiones más divertidas.

Años 60 – Burroughs Corporation B205

sistema-operativo-usa-batman-B205
En la película de Batman de 1966 se muestra la consola de una computadora B205 fabricada por Burroughs. Era en los años 50, prácticamente la computadora de elección que aparecía en series de TV y películas de esa época. El sistema operativo que esa computadora usaba era CTOS/BTOS (Convergent Technologies Operating System).
Por supuesto este sistema no es ni UNIX Like, ni mucho menos Linux. Y, además Linux no se creó hasta los 90 y UNIX apareció en los 70. Es interesante saber que CTOS fue usado por la policía, el servicio postal, la DEA, el ejercito de los Estados Unidos y la Guardia Costera (quien de hecho usó el sistema hasta el año 2000).

Años 90 – Cray T90

En los cómics de 1995 se puede ver que Batman usaba 7 módulos de la Cray T90, la última de una linea de supercomputadoras fabricadas por Cray Research. Esta ejecutaba UNICOS, una variante de UNIX desarrollada por Cray para sus propias supercomputadoras.
sistema-operativo-usa-batman-cray-190
La gran explicación del usuario vaxquis:

  • Asumiendo que la Baticomputadora era un mainframe o computadora central, durante la época de los 80 y 90, es altamente probable que tuviese un clon de UNIX personalizado. Sin embargo, también puede haber sido un sistema completo específico para esa máquina, especialmente si era una tan potente. Ciertamente no ha usado Linux aún, porque Linux aún no ha sido creado por Torvalds.
  • En 1995 Batman usó la T932, una variante más poderosa de la supercomputadora T90, que corría UNICOS, que está basado en UNIX. Podemos asumir que siguió usándolo hasta más o menos el año 2005, cuando esta máquina quedó obsoleta por la Cray X1, así que probablemente no estaba usando Linux en esa época, aún cuando Linux ya existía.
  • Ya que la computadora central de las empresas Wayne usa un sistema basado en UNIX (y que es probablemente la misma Baticomputadora, ya que todas las Baticosas están disfrazadas como propiedad corporativa), y dado que los sistemas operativos UNIX Like personalizados son le elección usual para las supercomputadoras de todas maneras, debido a su alto nivel de seguridad y mantenibilidad, es bastante obvio que Batman elegiría uno de estos para la baticomputadora. Es difícil decir si es un clon de Linux o de UNIX/BSD, debido a la escasez de datos. Pero adivinar que es un sistema UNIX Like es bastante acertado.

waynes-industry-mainframe
Si hablamos de películas modernas como The Dark Knight, es mucho más difícil saber, ya que los estudios contratan diseñadores especialistas en hacer interfaces fantásticas que no tienen ningún sentido en la vida real pero lucen muy “de hackers” del cine que teclean muy rápido. Y las computadoras como tal, usualmente solo son representadas con cien mil monitores juntos, los servidores brillan por su ausencia. Pero, estamos claros que las posibilidades de que sea una versión personalizada de Linux o UNIX superan cualquier otra alternativa.
 

Fuente:http://bitelia.com
Read More
190

Views