23 de diciembre de 2007

Y2k + 38

El 19 de Enero de 2038, la nueva fecha del fin del mundo .... errr bueno, el nuevo Y2k, todos los sistemas derivados de UNIX (Linux, Macs, etc) dejarán de funcionar; esto porque estos sistemas operativos utilizan enteros de 4 byts (32 bits) para representar la fecha y lo hacen de una forma no muy fácil de entender, se almacenan el número de segundos que han transcurrido desde las 12:00:00 del 1 de enero de 1970 (Epoch), es decir, una representación de 60, equivale a las 12:01:00 del 1 de Enero de 1970.

Bueno, el máximo número que se puede representar usando esta notación es 2.146.483.547 (aproximadamente 231), no se usa 32 como el exponente porque un bit se usa para almacenar el signo (sí, el signo), aunque el tiempo sólo es positivo, en los sistemas basados en UNIX se usa el tipo de dato time_t de C, que usa un bit para guardar el signo (las operaciones binarias son un fastidio), más información en http://en.wikipedia.org/wiki/POSIX_time.

Pues ese numerito antes mencionado equivale en lenguaje normal y corriente a las 3:14:07 del 19 de enero del 2038. Justo en ese momento 2 cosas pueden pasar, el sistema deja de funcionar por completo o la fecha se pondría de nuevo 1 de enero de 1970.

Ya se puede observar ciertos problemas en los ya mencionados sistemas, pues los programas que usan fechas futuras ya experimentan ciertas fallas al llegar a esa fecha. y por ejemplo las Mac OSX no pueden pasar del 31 de diciembre de 2037 cuando se manipula la fecha.

Pues ya veremos que pasa de aquí a 30 años, no creo que haya mucho problema pues para ese entonces la arquitectura de 32 bits será un recuerdo vago del pasado y los sistemas de 64 bits o más dominarán el mercado (los sistemas de 64 bit no presentan este problema).

Para mayor información consultar http://www.y2k38.info/

No hay comentarios.:

Publicar un comentario