Imágenes


jueves, 9 de noviembre de 2017

Qué es el “Efecto 2038”, a qué dispositivos afecta y qué peligro podría suponer.

¿Qué es exactamente el problema del año 2038?
El problema del año 2038 se debe a la capacidad máxima de bits con la que que cuentan los sistemas de 32 bits. Estos almacenan memoria y ejecutan sus procesos utilizando 32 dígitos binarios, los cuales pueden representarse por un 1 o un 0, lo que permite permite un total de 4.294.967.296 combinaciones posibles.
Pero hay que tener en cuenta que estas combinaciones pueden ser positivas o negativas, por lo que en realidad los sistemas de 32 bits “sólo” cuentan con 2.147.483.647 valores positivos superiores a cero y otros 2.147.483.648 valores negativos. Un valor negativo más porque el cero ocupa el espacio de los positivos.
Uno de los sistemas que estos procesadores usan para contar el tiempo es el POSIX, que calcula los segundos transcurridos desde el 1 de enero de 1970 a las 00:00:00 UTC. Esto quiere decir, que partiendo de ese 1 de enero de 1970, los ordenadores de 32 bits sólo son capaces de contabilizar las fechas comprendidas entre las 20:45:52 UTC del 13 de diciembre de 1901 hasta las 03:14:07 UTC del 19 de enero del 2038.
Por lo tanto, un segundo después de las 03:14:07 UTC del 19 de enero del 2038 los sistemas de 32 bits ya no serán capaces de contar más, y confundirán la fecha con el 13 de diciembre de 1901, que es la fecha de referencia de 1970 restándole los 2.147.483.647 segundos negativos.
El problema reside en el tipo de variable se utiliza para guardar una información temporal. Si se utiliza un “int” el fallo aparecerá, que es la variable que se utiliza en casi todos los sistemas de 32 bits. Sin embargo, si se usa un “unsigned int” se eliminará el signo negativo y habrá unos cuantos años más de margen.
El bug afecta sobre todo al sistema operativo Unix, que está en las tripas de otros sistemas como GNU/Linux, Android e iOS. Por lo tanto, esto abarca desde casi todos los teléfonos móviles hasta una gran parte de los servidores de Internet. Y lo más inquietante es que no sabemos cómo van a actuar estos sistemas que se vean afectados al no ser capaces de contar más tiempo.
Algunos simplemente podrían resetear sus fechas volviendo a 1901, suficiente para crear un poco de caos dependiendo de dónde suceda. Pero también es posible que se desencadenen fallos de sistema, o incluso que algunos dispositivos se apaguen y no vuelvan a encenderse. En cualquier caso puedes estar tranquilo, porque no es algo que realmente nos vaya a afectar.
¿Va a ser el Y2K38 un problema? NO
Aunque sobre el papel todo parece una catástrofe casi bíblica, realmente no hay demasiado de lo que preocuparse. Ten en cuenta por ejemplo que los procesadores de 32 bits ya hace años que se están abandonando en beneficio de los de 64 bits, que al tener una mayor capacidad de bits tardaría algunos siglos aún en tener ese problema.
Por ejemplo, Microsoft lleva ofreciendo versiones de 64 bits de su sistema operativo desde Windows XP Professional en 2005, sistema macOS de Apple lleva siendo exclusivo de 64 bits desde Mac OS X 10.7 “Lion” en 2011, y los primeros móviles de Android con 64 bits empezaron a llegar en 2014.
Por lo tanto, si ya en 2017 los 32 bits están quedándose obsoletos, es lógico pensar que para 2038 incluso los de 64 bits a los que poco a poco se va transicionando se hayan abandonado también por otros más avanzados. Después de todo la tecnología está avanzando a pasos agigantados, por lo que es difícil que para dentro de 20 años nos acordemos si E incluso en el caso de que aún quedase algún sistema de red o dispositivo secundario anclado en los 32 bits por aquel entonces, los fabricantes tienen tiempo de sobra para parchearlos con actualizaciones de software. Vamos, que va a ser muy difícil que este problema de 2038 acabe causando algún estrago significativo quiera de los 32 bits.

No hay comentarios:

Publicar un comentario