InicioCiencia EducacionEl futuro y devastador problema del año 2038


Todos hemos pensado que el Internet y las cosas que funcionan con este sera algo que durara para siempre, pero desgraciadamente todo tiene un fin, el problema del año 2038 (conocido también por el numerónimo Y2K38) podría causar que una parte del software falle en ese año. El problema afecta a los programas que usen la representación del tiempo basada en el sistema POSIX, que se basa en contar el número de segundos transcurridos desde el 1 de enero de 1970 a las 00:00:00 (ignorando los segundos intercalares) en resumen al cambiar los códigos pasaran cosas tales como: en los videojuegos, la partida se dañara a tal grado de formatear la consola, el Internet no cargara correctamente y solo se mostraran los códigos de las paginas, las tarjetas de credito dejaran de funcionar y varias cosas devastadoras

Esta representación es un estándar de facto en los sistemas tipo Unix y también en los programas escritos para muchos otros sistemas operativos debido al gran alcance del lenguaje de programación C. En la mayoría de sistemas de 32 bits, el tipo de dato time_t usado para guardar el contador de segundos es un entero de 32 bits con signo, es decir, que puede representar un rango de números entre -2.147.483.648 y 2.147.483.647 (-231 y 231-1; 1 bit para el signo, y 31 para el valor absoluto), por lo que el último segundo representable con este formato será a las 03:14:07 UTC del 19 de enero de 2038, cuando el contador llegue a 2.147.483.647. Un segundo después, el contador se desbordará y saltará al valor -2.147.483.648, que causará el fallo de programas que interpretarán el tiempo como que están en 1901 (dependiendo de la implementación), en vez de en 2038. A su vez, esto causaría cálculo y procesamiento incorrecto y causaría un problema mundial.

No hay una forma sencilla de arreglar este problema para las combinaciones existentes de CPU/SO. Cambiar la definición de time_t para usar un tipo de 64 bits rompería la compatibilidad binaria para el software, almacenamiento de datos y, por lo general, cualquier cosa que tenga algo que ver con la representación binaria del tiempo. Cambiar time_t a un entero de 32 bits sin signo afectaría a los programas que hacen cálculos con diferencias de tiempo.

La mayoría de sistemas operativos para arquitecturas de 64 bits utilizan enteros de 64 bits para time_t. La migración a estos sistemas está todavía en proceso y se espera que se complete mucho antes de 2038. Usar un entero de 64 bits retrasaría la fecha del problema unos 2,90 billones de años (2,9 x 1012). Es decir, 220 veces la edad aproximada del Universo.



El problema hace que los dispositivos Android (al menos algunas versiones) se bloqueen y no reinicien cuando se cambia la fecha a esa fecha. Para comprobar esto se puede ir a la configuración de fecha y hora en el dispositivo, y al tratar de cambiar la fecha y hora al 2038; se encontrará con la sorpresa de que solo le permite cambiarlo hasta el 31 de diciembre de 2037.1

En los dispositivos iOS 7 el sistema permite cambiar la fecha hasta el 1 de enero de 2038. Concretamente, el problema afecta a los programas que usan la representación del tiempo basada en el sistema POSIX, que es el explicado en el párrafo anterior. Es la representación estándar en los sistemas tipo Unix y en todos los programas escritos en el lenguaje de programación C. La mayoría del software actual cae dentro de ese grupo y fallarán, dependiendo de como estén implementados, como si estuviesen funcionando en 1901 ó 1970, en vez de en 2038. A pesar de ser un problema bien conocido (los programadores conocen esta limitación desde la implementación misma del lenguaje C), no existe una forma sencilla de solucionar este problema. Podría cambiarse el tipo de variable empleado por un entero de 32 bits sin signo, pero esto haría que todos los programas que hacen cálculos con diferencias de tiempo fallen. Y reescribir por completo esas aplicaciones es un trabajo enorme, que a veces ni siquiera puede encararse. También puede creerse (erróneamente) que, utilizando una variable de 64 bits podríamos salir del paso, pero al igual que con las de 32 bits sin signo, se perdería la compatibilidad binaria con el resto del software.



El problema del año 2000, algo muy similar a este futuro problema



El problema del año 2000, también conocido como efecto 2000, error del milenio, problema informático del año 2000 (PIA2000) o por el numerónimo Y2K, es un bug o error de software causado por la costumbre que habían adoptado los programadores de omitir la centuria en el año para el almacenamiento de fechas (generalmente para economizar memoria), asumiendo que el software sólo funcionaría durante los años cuyos nombres comenzaran con 19. Lo anterior tendría como consecuencia que después del 31 de diciembre de 1999, sería el 1 de enero de 1900 en vez del 1 de enero de 2000.

Potenciales efectos que este bug causaría
Cuando llegó el 1 de enero del 2000 los problemas eran mirados generalmente como de menor importancia. Éstos no tuvieron siempre que ocurrir exactamente a medianoche. Algunos programas no estaban activos en ese momento y mostrarían ese error solo cuando fueran abiertos. No todos los problemas registrados estuvieron relacionados directamente con Y2K como causa; las interferencias de menor importancia en la tecnología ocurren normalmente, como cualquier persona que haya tenido que reiniciar un ordenador personal reconocerá.

Los problemas divulgados son:1

En Ishikawa, Japón, un equipo de supervisión de radiación falló a medianoche, pero los funcionarios dijeron que no había ningún riesgo para el público.

En Onagawa, Japón, una alarma sonó en una planta de energía atómica dos minutos después de la medianoche.

En Japón, dos minutos después de la medianoche, Osaka Media Port, una compañía de telecomunicaciones, encontró errores en el manejo de las fechas en parte de la red de la compañía. El problema fue arreglado a las 2:43 a.m. y no se interrumpió ningún servicio.

En Japón, la red de comunicaciones móviles de NTT (NTT DoCoMo), el operador de telefonía móvil más grande de Japón, divulgó el 1 de enero de 2000 que algunos modelos de teléfonos móviles suprimían los nuevos mensajes recibidos, en lugar de los viejos, cuando se llenaba la memoria.

En Australia, las máquinas validadoras de billetes de autobús de dos estados no pudieron funcionar.

En Estados Unidos, 150 máquinas tragamonedas en las pistas de carreras en Delaware dejaron de funcionar.

En Estados Unidos, el observatorio naval, donde funciona el reloj principal que marca el tiempo oficial del país, tuvo una interferencia de Y2K en su sitio web. Debido a un problema de programación, el sitio divulgó que la fecha era el 1 de enero de 1910.

En Francia, el servicio nacional de meteorología, Meteo Francia, dijo que un error de Y2K había hecho que su página web mostrara un mapa con el parte meteorológico del sábado con fecha 01/01/19100.

En el Reino Unido, algunas transacciones de tarjetas de crédito fueron rechazadas o fallaron en conjunto mientras que trabajaron recíprocamente ciertos sistemas.

En Italia, Telecom Italia envió los primeros dos meses de cuentas, con fecha de enero de 1900.

En Pennsylvania, Estados Unidos, una computadora de la biblioteca de una escuela primaria cobró al cuerpo estudiantil excesivamente por tener prestados los libros durante 100 años.

En España, se detectaron problemas menores en dos centrales nucleares, en alguna gasolinera y en el sistema de recogida de datos de tráfico.
En España fallaron algunos parquímetros, que simplemente rechazaban los tickets de coches aparcados antes de medianoche.
En algunas páginas web de empresas de transporte, algunos paquetes figuraban que habían tardado 17.101 años (19.100 menos 1.999) más algún día, y estos días son los que realmente se tardó en entregar.

En muchos sitios web del mundo, donde se empleaba hora y fecha: la hora la interpretaba incorrectamente y la fecha con 1 enero de 1900 o 19100. En caso de la hora, si eran las 2 de la mañana, el reloj estaba interpretado así: 92:60:14, haciendo alusión a los segundos.
En algunas versiones de MAME, algunos roms no cargan adecuadamente, ya que por efectos del Y2K, ejecutan los comandos de fecha con solo dos digitos. En versiones superiores, este error es corregido, pero el juego carga no el año correcto, sino el año correspondiente al siglo XX. En palabras sencillas, si el juego se ejecutaba el 4 de marzo de 2009, estos juegos calculaban el 4 de marzo de 1909.

En Alemania se produjeron algunos inconvenientes con tarjetas de crédito por este mismo problema, pero en el año 2010. 30 millones de tarjetas bancarias dejaron de funcionar debido a un error del software del microchip de tales tarjetas.2

En Países Bajos, la cadena pública de televisión Nederland 3 de la NPO había hecho un conteo final para año nuevo. Cuando ya era medianoche la pantalla se corta y aparece la carta de ajuste del canal con los colores torcidos, la pantalla desfigurada y una interferencia con un canal de televisión de Medio Oriente (posiblemente sea Al Jazeera). Después de dos minutos y medio de lo mencionado, aparece una mujer (posiblemente también presentadora del canal) sosteniendo una copa por el nuevo milenio. Hasta el día de hoy no se supo si esa interferencia visual era real o simplemente un truco del canal porque ya sabían lo del Y2K.



Gracias por visitar este port, espero que aya sido de tu agrado
Datos archivados del Taringa! original
23puntos
0visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

M
Usuario
Puntos0
Posts95
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.