Qué es el Y2K38?

El problema del año 2038 se relaciona con representar el tiempo en muchos sistemas digitales como el número de segundos transcurridos desde el 1 de enero de 1970 y almacenarlo como un entero binario de 32 bits con signo. Dichas implementaciones no pueden codificar tiempos después de las 03:14:07 UTC del 19 de enero de 2038. Al igual que el problema Y2K, el problema del año 2038 se debe a una capacidad insuficiente de la unidad de almacenamiento elegida.

Sistemas Vulnerables:

  • Los sistemas incrustados que usan fechas para el cálculo o el registro de diagnóstico tienen más probabilidades de verse afectados por el error 2038.
  • Muchos sistemas de transporte, desde el vuelo hasta los automóviles, utilizan ampliamente los sistemas integrados. En los sistemas automotrices, esto puede incluir un sistema de frenos antibloqueo (ABS), control electrónico de estabilidad (ESC / ESP), control de tracción (TCS) y tracción en las cuatro ruedas automática; Las aeronaves pueden utilizar sistemas de guía inercial y receptores GPS. Sin embargo, esto no implica que todos estos sistemas sufran el error, ya que muchos de estos sistemas no requieren acceso a las fechas. Para aquellos que lo hacen, los sistemas que solo rastrean la diferencia entre los tiempos / fechas y no los tiempos / fechas absolutos, por la naturaleza del cálculo, no experimentarán un problema. Este es el caso de los diagnósticos automotrices basados ​​en estándares legislativos como CARB (California Air Resources Board).
  • Otro uso importante de los sistemas integrados es en dispositivos de comunicaciones, incluidos teléfonos celulares y dispositivos de Internet (enrutadores, puntos de acceso inalámbrico, etc.) que dependen del almacenamiento de una fecha y hora precisas y se basan cada vez más en sistemas operativos similares a UNIX. Por ejemplo, el error hace que algunos dispositivos que ejecutan Android de 32 bits se bloqueen y no se reinicien cuando se cambia la hora hasta esa fecha.
  • A pesar de la moderna actualización generacional de 18 a 24 meses en tecnología de sistemas informáticos, los sistemas integrados están diseñados para durar toda la vida útil de la máquina en la que son componentes. Es posible que algunos de estos sistemas aún estén en uso en 2038. Puede ser poco práctico o, en algunos casos, imposible actualizar el software que ejecuta estos sistemas, y en última instancia es necesario reemplazarlo si se deben corregir las limitaciones de tiempo de 32 bits.
  • Las funciones integradas de la base de datos MySQL como UNIX_TIMESTAMP () devolverán 0 después de las 03:14:07 UTC del 19 de enero de 2038.

Solución:

  • No hay una solución universal para el problema del año 2038. Cualquier cambio en la definición del tipo de datos time_t daría como resultado problemas de compatibilidad de código en cualquier aplicación en la que las representaciones de fecha y hora dependan de la naturaleza del entero time_t de 32 bits firmado. Por ejemplo, cambiar time_t a un entero sin signo de 32 bits, que extendería el rango a 2106 (específicamente, a las 06:28:15 UTC del domingo, 7 de febrero de 2106), afectaría negativamente a los programas que almacenan, recuperan o manipulan fechas antes de 1970, ya que tales fechas están representadas por números negativos. Aumentar el tamaño del tipo time_t a 64 bits en un sistema existente causaría cambios incompatibles en el diseño de las estructuras y en la interfaz binaria de las funciones.
  • Se han realizado propuestas alternativas (algunas de las cuales están en uso), como el almacenamiento de milisegundos o microsegundos desde una época (generalmente entre el 1 de enero de 1970 o el 1 de enero de 2000) en un entero de 64 bits firmado, con un rango mínimo de 300,000 años en microsegundos de resolución. Otras propuestas para nuevas representaciones de tiempo proporcionan diferentes precisiones, rangos y tamaños (casi siempre más anchos que 32 bits), además de resolver otros problemas relacionados, como el manejo de segundos de salto. En particular, TAI64 es una implementación del estándar Temps Atomique International, el estándar internacional actual en tiempo real para definir un segundo y un marco de referencia.
Abrir chat
¿Cómo podemos ayudarle?