El bug del 2038 en un GIF animado
Siempre que enlazo al contenido de algún blog digo que no tengo por costumbre enlazar al contenido de otros blogs, pero esta vez no vamos a ser menos.
No suelo enlazar a contenidos de otros blogs, pero este gif animado (que blogger no me deja enlazar, así que tendrán que verlo en la web de Microsiervos o en la wikipedia que enlazo al pie del post) que he visto en Microsiervos me ha gustado, pues muestra de una forma gráfica el bug que tienen todos los UNIX con una fecha aparentemente insustancial como es las 3:14:17 del 19 de enero de 2038.
El tiempo UNIX (conocido como Time Stamp) no se guarda, como el de otros sistemas tipo windows, en una variable con formato hh-mm-ss-dd-mm-aaaa (hora, minuto, segundo, día, mes, año) sino que, para ser más chulos, se almacena como un número entero de 32 bits que cuenta los segundos transcurridos desde el 1 de Enero de 1970. ¿Que porqué esta fecha? Bueno, la primera vez que se utilizó ese sistema fue allá por el 1971, y como no tenían planeado viajar al futuro (o no sabían cómo, aún) y veían el año 2038 muy lejano (y poner la fecha en 64 bits era una forma de tirar el dinero lamentable) decidieron optar por este modelo. ¿Ventajas? Que ningún servidor UNIX tuvo problemas allá por el año 2000. ¿Inconvenientes? Que adaptar todos los tiempos UNIX que se almacenan en 64 en lugar de en 32 bits va a suponer un esfuerzo considerable.
Cambiando a 64 bits el UNIX Time Stamp nos volveremos a encontrar con el mismo problema allá por el 4 de diciembre del 292.277.026.596 (si, doscientos noventa y dos millones....) a las 15:30:08. No parece que sea una medida del todo mala, dentro de lo que cabe.
Así que ya lo sabe loado lector, si su equipo es un Linux, Solaris, HP-UX, AIX, IRIX, *BSD (maqueros, aplicaos el cuento), QNX, BeOS.... o cualquier otro sistema operativo que cumpla con POSIX deberá actualizarse para este error o dentro de 30 años tendrá serios problemas... luego no diga que no le avisamos con tiempo.
Visto en Microsiervos
Fuente original Wikipedia
0 comentarios:
Publicar un comentario en la entrada