El Problema Del Año 2038
El problema del año 2038
Nombre: Javier Ignacio del Canto Montenegro
Nombre Prof.: Margarita Cuevas Bravo
Carrera: T. Universitario en InformáticaCurso: 192 – B
Fecha: 29 de Mayo de 2014
Índice
Introducción………………………………………………………………………………………….pag.3
1. Descripción del problema…………………………………………………………………..pag.4
2. El origen del problema………………………………………………………………..........pag.5
3. Los sistemasvulnerables…………………………………………………………………….pag.7
3.1 Las estructuras de datos con problemas de tiempo………………..pag.9
3.2 NTP (Network Time Protocol)…………………………………………….…pag.11
4. Soluciones………………………………………………………………………………………..pag.13
5. El problema del año 2000…………………………………………………………………pag.15
Conclusión……………………………………………………………………………………………pag.17
Bibliografía……………………………………………………………………………………………pag.18Introducción
A través de este trabajo, vamos a investigar el origen de este problema y sus consecuencias para la humanidad y la vida cotidiana que llevamos, también descubriremos su relación con el problema del año 2000 y como se llevó a cabo el proceso para solucionarlo.
1. Descripción del problema
El origen del problema es en realidad la forma en que algunos software almacenan sustipos de datos de fecha / hora. Los programas que utilizan la representación tiempo POSIX se verán afectados por este problema. La estructura time_t es un tipo de valor que almacena el tiempo en un entero con signo de 32 bits. Esto se refiere a que un tipo de dato entero puede representar un subconjunto finito de números enteros. El número mayor que puede representar depende del tamaño del espaciousado por el dato y la posibilidad (o no) de representar números negativos. Los tipos de datos enteros disponibles y su tamaño dependen del lenguaje de programación usado así como la arquitectura en cuestión, para lograr un signo de 32 bits se requieren 4 Bytes, es decir:
4 Bytes = 4x8 = 32 bits
Con 32 bits se pueden representar 232=4294967296 valores:
Sólo positivos (enteros sin signo): del 0 al4294967295
Positivos y negativos (enteros con signo): del -2147483648 al 2147483647
Este sistema solo puede almacenar valores desde el -2147483648 al 2147483647, debido a que este sistema comienza a contar los segundos desde las 00:00:00 del jueves 1 de Enero de 1970, el máximo valor que podría almacenar sería el martes 19 de Enero de 2038 a las 03:14:07, después de esta fecha el sistema sequedaría sin dígitos y volvería a los valore en negativo, es decir, pasaría del 2147483647 al -2147483648, lo que haría creer al sistema que estamos en el 13 de Diciembre de 1901 en lugar del 19 de Enero de 2038.
2. El Origen del Problema
Para comprender el origen del problema, es necesario conocer un poco más a fondo la forma en que se gestionan internamente las fechas en los ordenadores,aclarando que por “ordenadores” también se entienden los sistemas integrados, como aquellos responsables de mantener tu casa calefaccionada, el piloto automático de un avión o un teléfono móvil conectado a la red. La gran mayoría de estos sistemas informáticos funcionan con software escrito en uno de los más populares y robustos lenguajes de programación de todos los tiempos: el lenguaje C. En lamayoría de sistemas de 32 bits se utiliza el tipo de dato time_t – entero de 32 bits con signo- para guardar el valor de un contador de segundos interno.
Básicamente, el funcionamiento es el siguiente: se toma una fecha como base y el sistema en cuestión cuenta los segundos que han pasado desde ese momento hasta el actual. El resultado es almacenado en la variable de...
Regístrate para leer el documento completo.