Mucho se ha especulado de la inminente catástrofe virtual que nos lleve al descontrol de toda la tecnología a nivel mundial. Como consecuencia tendríamos la pérdida total de bases de datos digitales y con ello, el desastre mundial. Sin embargo, al parecer esto sólo es una idea de ciencia ficción salida de la imaginación de muchos autores.
Lo más cercano que hemos estado de una situación similar es el ya conocido ‘Efecto 2000’ o ‘Error del milenio’. Este puso de cabeza a todas las compañías tecnológicas que trabajaban con dispositivos de codificación de fecha en dos dígitos. La codificación de las fechas no alcanzaría para saltar hacia el segundo milenio y al finalizar la década de los 90, regresaríamos al inicio de ella. Es decir que luego del 31 de diciembre de 1999, los dispositivos se reiniciarían al 1 de enero de 1990 y no del 2000. Afortunadamente se pudo resolver, aunque no sin unos cuantos miles de millones de euros.
El desastre del Efecto 2038
Pero se avecina un efecto similar, el denominado ‘Efecto 2038’ o ‘Y2K38’ que afectará a todos los dispositivos de 32 bits. Pero, ¿por qué? Nuevamente se trata del reloj y la incapacidad de las codificaciones para soportar las fechas. El reloj que manejan muchos dispositivos se basa en POSIX, que es un contador de segundos que ha acumulado la cantidad de segundos que han transcurrido desde el 1 de enero de 1970.
En estos sistemas de 32 bits, el código que se utiliza para contar el tiempo es el denominado time_t. Lo que hace es que cada segundo que se cuenta en el reloj, tiene un código único y propio. El problema radica en que la capacidad que soporta el código time_t va de un rango de números entre -2.147.483.648 hasta 2.147.438.647.
Para el año 2038, la cantidad de segundos llegará al límite que los sistemas de 32 bits son capaces de soportar y comenzarán a contar desde el inicio, es decir, desde el segundo que le corresponde al valor -2.147.483.648. En otras palabras, es como si volviéramos a 1901, cosa que, en la línea del tiempo eventualmente no sucederá y el error llevará al desastre a los datos virtuales depositados en este tipo de sistemas.
La fecha exacta del fallo será el 19 de enero de 2038 a las 03:14:07 UTC, el último segundo de vida de los dispositivos. Ya que el error de cálculo confundirá a los relojes que creerán estar en el 13 de diciembre de 1901 a las 20:45:52 UTC, segundo exacto que le corresponde al valor -2.147.483.648.
Como lo has podido deducir, los sistemas de 64 bits son una solución al ‘Fallo 2038’, porque aumentan la capacidad de números de segundo codificados. Muchos dispositivos como procesadores, microprocesadores y sistemas operativos se han mudado ya a la versión de 64 bits. La falla más bien afectaría a sistemas de 32 bits que se basen en contadores de fecha y tiempo.
¿Te imaginas tener que pagar una cantidad enorme de intereses por no pagar a tiempo gracias al descontrol de los relojes? Definitivamente sería un desastre total en las bases de datos. La buena noticia es que faltan casi dos décadas en las que se podrían seguir actualizando a sistemas de 64 bits que eviten el desastre del “Efecto 2038”