¿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.
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