• 4 de diciembre de 2021 23:01

El efecto 2038: ¿Un nuevo apocalipsis informático?

Un error de cálculo confundirá la fecha del 19 de enero de 2038 con el 13 de diciembre de 1901.


efecto 2038
Nov 17, 2021

Al igual que en 1999 el “Efecto 2000” o “Error del milenio” provocó un temor ante las consecuencias que podía tener para la sociedad, el “Efecto 2038” o “Y2K38” amenaza con un nuevo apocalipsis informático?

El “Efecto 2038” es un “bug” relativo a la codificación del tiempo en los sistemas de 32 bits (el reloj que usan), que afectaría a la sociedad en enero del año 2038, según publica el sitio Muy Interesante.

Esto se debe a que el reloj que tienen muchos equipos se basa en POSIX, un simple contador de segundos que va ascendiendo con cada segundo que pasa y que tiene como fecha de referencia el 1 de enero de 1970; por tanto, el tiempo es igual al número de segundos transcurridos desde esta fecha de referencia.

Sin embargo, como en los sistemas de 32 bits los tiempos se codifican con un número entero y un signo, llegará un momento en que el contador llegará al número máximo que es capaz de almacenar en positivo y comenzará a contar en negativo (volveremos a 1901). Los sistemas que cuentan la hora desde (21:00 31/12/1969) provocarían el error de cálculo a las 00:14:07 del 19 de enero de 2038, ya que confundirán la fecha con el 13 de diciembre de 1901.

Por el momento se desconocen las consecuencias exactas que este problema informático provocará en algo más de 20 años, pero está claro que aún hay tiempo para solventarlo con eficacia y sin crear el pánico que se generó con el Y2K o Efecto 2000.

El “Efecto 2038” afectará principalmente al sistema operativo Unix, sobre el que se asientan tanto Android como iOS así como muchos servidores de Internet, puntos de acceso Wi-Fi o routers.

Leé:   ¿Por qué la gente no puede hacerse cosquillas a sí misma?

Casi todos los sistemas operativos que se utilizan hoy en día se remontan a UNIX. Cuando los ingenieros desarrollaron el primer sistema operativo para máquinas UNIX en la década de 1970, decidieron arbitrariamente que el tiempo se representaría como un entero de 32 bits con signo y se mediría como el número de segundos desde las 12:00:00 am del 1 de enero de 1970. Los sistemas de fecha y hora de bits solo pueden contar hasta 2,147,483,647, lo que se traduce en el 19 de enero de 2038 (3:14:08 am). En esta fecha, cualquier programa en C que utilice la biblioteca time_t estándar de 32 bits tendrá problemas para calcular la fecha.

La mayoría de las funciones de soporte que utilizan el tipo de datos time_t no pueden manejar valores time_t negativos. Fallan y devuelven un código de error, y esto hace que el programa de llamada se bloquee espectacularmente.

Para la planificación de 2038, se necesita un enfoque progresivo y proactivo en esta etapa. Para solucionarlo, hay que centrarse en:

1) software que se ocupa de fechas y horas futuras;

2) formatos de archivos y mensajes online;

3) dispositivos con una larga vida útil y sus dependencias.

Fuente: muyinteresante.es