Primero de Enero de 1970. Otra década comenzaba, quizás una de las más famosas de la historia de la humanidad. Por lo bueno, y lo malo.

El sexo era libre, la fórmula 1 tenía magia y mucho olor a bencina y al fútbol se jugaba, más de lo que se corría. La TV comenzaba a ser de Colores y la política ocupaba una parte más importante en nuestra sociedad, tanto, que increíblemente mucha gente moría por pensar distinto.

Ahhh… Nada mejor que el olor a nafta mal quemada por las mañanas.

Es curioso, pero cada vez que veo 1/1/1970 en algún dispositivo, además de saber que algo salió mal y al mismo “se le desconfiguró el tiempo” viajo a algún recuerdo (implantado, no lo viví) que puedo tener de la década del 70. Desde Saturday Night Fever a la jugada donde Pelé la deja pasar de espalda al arco, se da vuelta y casi convierte uno de los mejores goles de la historia de los mundiales.

Y es que, cuando las computadoras u otros dispositivos informáticos no tienen configurada la fecha, ya sea porque la BIOS no tiene pila o porque directamente están mal configurados, vuelven a la “fecha 0” o algo así como “el día que todo comenzó”.

Así como para los cristianos (y para los que no lo son, también) la “fecha 0” fue cuando nació un tal Jesucristo, la gran mayoría los equipos informáticos tienen “su 0” el 1/1/1970 a las 00:00. El formato de tiempo que estos equipos utilizan es conocido como “tiempo UNIX” o “tiempo POSIX” y se define como la cantidad de segundos transcurridos desde la medianoche UTC del 1 de enero de 1970, sin contar segundos intercalares.

Reloj Epoch
Si. Hay nerds que tienen relojes de Tiempo POSIX (EPOCH)

Si bien el tiempo UNIX no es la única manera de “medir el tiempo” que usan los equipos informáticos, es una de las más conocidas. También hay muchas BIOS que arrancan el 1/1/1980 y algunas nuevas directamente tienen su “0” el 1/1/1999, en Wikipedia en inglés es posible conocer un poco más al respecto, tanto de los tiempos de sistema como de las épocas computacionales.

1970 ya pasó: el problema ahora es el año 2038

Así cómo tuvimos el Y2K, en el 2038 nos encontraremos con un inconveniente proveniente de esta forma de manejar el tiempo. Y es que 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 representar su valor en complemento a dos), 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 (gracias Wikipedia).

Es posible ver la representación gráfica.

Y algunas camisetas que ya tienen varios SysAdmins.

Remera del fin del mundo. Año 2038.

 

Lamentablemente (o afortunadamente) y gracias a la sincronización a través del network time protocol, hoy en día casi cualquier dispositivo se pone en hora automáticamente, y ya casi nadie se pregunta el por qué de estas cosas… HASTA EL 2038

42 Comentarios

  1. Recuerdo con desenfado el tener que lidiar con la pila del mother cuando la hora empezaba a jorobar, sobre todo porque comenzaba a darme error en el arranque, en el bios mismo.

    Hoy por hoy eso es cosa del pasado, y se agradece! Y por las dudas sí, tengo la compu en hora; cosa que me recuerda que en un rato llegan amigos a morfar jaja, abrazo!

  2. Hace unos dias hice un clear cmos porque no me detectaba la lectora de dvd al arranque, y es verdad jamas le habia prestado atencion en anteriores Clearcmos que hice pero es verdad arranca en el 1/1/70 loco no? la pc tiene 5 años ya (Mother Asrock Wolfdale 1333 2).

    Alguien sabe cuanto dura la pila? porque nunca se fue de fecha sola a no ser por un Clearcmos manual (aclaro que cuando se va de fecha avisa al arranque con el famoso cartel que la bios esta fuera de fecha).

  3. Se acuerdan cuando antes te bajabas programas de demostración y te contaba los días que te quedaban y si cambiabas la fecha… la prueba nunca terminaba. Que tiempos aquellos.

    • Y había un programa que podía engañar a esos sharewares cambiando la hora solo para ellos. Y si no funcionaba tenías un modo “hard” que cambiaba la hora de todo Windows mientras ejecutaras el programa. Cuando lo cerrabas, te volvía a poner la hora que iba. Magia de los 90

      • Se usa para algunas “Nets del gobierno” que se bloquean por fecha…

        Para poder usar el Chrome y que no jorobe hay que ponerle fecha actual al chrome…

        Demasiado lio para mi gusto, pero las hay!

      • Symbian tenia esa particularidad, con ella nunca tuve que comprar una aplicacion (gracias nokia me diste los mejores años en un movil).

  4. Ley de murphy, el maldito horario de verano me tiene tan podrido que hace un tiempo atrase el reloj 1 hora pensando q si se adelanta una hora si lo tengo 1 hora atrasado cuando se active el horario de verano lo voy a tener bien, todavia no combio el muy puto. capaz q estoy haciendo todo esto al pedo y se adelanta 2

  5. Claro que se gastan pero es bien facil cambiarlas ahora, pero antes eran como unos barrilitos de cerveza azules soldados a tu placa madre y luego por la humedad se les creaba una capa como zulfato o algo asi.

    • cuando fue eso, desde el 95 las pilas siempren me vinieron igual!
      Sorry capaz hablas de mucho antes, no se!
      Pero a mi TK90X no le encontre la pila todavia!

    • No vos estas sumamente confundido esos “barrilitos” que decis vos no son pilas, son condensadores, y la capa de sulfato que ves es que se revientan y dejan salir el contenido electrolitico que al contacto con el aire forma una especie de sulfato (que termina haciendo mierda la placa si se deja asi mucho tiempo) hubo placas que vinieron con condensadores muy malos que vivian reventandose, muchos tecnicos inescrupulosos te cobran una bocha de plata por cambiarlos cuando en realidad no valen mas de 10 pesos y 20 min de tiempo para cambiar, (ojo puede haber mas de 1 quemado y hai si la cosa se encarece) pero le erraste feo con eso que dijiste de que era una pila.

  6. JAJAJA Me causó mucha gracia el “Y vos, ¿tenés tu PC en hora?” , re descolgado y sencillo siendo un tema tan interesante y “loco” de alguna manera.

    Recuerdo que una vez intentaron explicarme algo que por más tiempo que estuvimos sobre lo mismo, nunca logré entender. No recuerdo exactamente bien qué, pero era sobre esto del tiempo en las computadoras, que algo iba a pasar no se que día por no se que motivo. Perdón, al final no dije nada, pero tenía que decirlo. Y por más que lo haya intentado, escribiéndolo no lo recordé jajaja
    Si me acuerdo vuelvo y lo escribo.

    • para lo unico que sirvio el y2k fue para que una funcionaria con problemas de adicciones gastara (¿Se llenara?) de plata!

      • No, no es el Y2K (eso era para DOS y Windows) pero en el 2038 va a pasar lo mismo con los sistemas Unix:

        “At 03:14:08 UTC on 19 January 2038, 32-bit versions of the Unix time stamp will cease to work, as it will overflow the largest value that can be held in a signed 32-bit number”

        Este dato es interesante (e importante) y lo eché de menos en el contenido del post.

  7. Qué curioso o qué providencial tu comentario, la pila que hace el laburito relojero en mi PC -mientras haya yo tendré alguna porque me gustan a pesar de los agoreros tecnógicos :-P- está caprichosa y bastante seguido “me encuentro” en el futuro o el pasado sin necesidad de un DeLorean o uno de esos túneles con lineas concéntricas que tanto le han gustado al cine sci fi.

    Una sensación muy graciosa -¡el otro día amanecí en 2097!-, aunque prometo cambiar la pila… pronto.

  8. Con el tema de la hora pasa algo más relevante.

    Hoy en día, muchos certificados de seguridad verifican usando el reloj de la PC contra la hora del servidor.

    Parece una boludez, pero muchos problemas se me han resuelto al sincronizar la hora.

  9. Hay algo que odio muchisimo de todo eso y es la diferencia de como manejan la hora windows y linux, asi que aprovecho para preguntar: existe alguna manera de tener los dos sistemas en ahora ? Porque cada vez que cambio de sistema tengo una diferencia de 3 horas (por estar en argentina que es el +3 gtm)

    Segun tengo entendido, linux toma la hora de la bios como la +0 y le agrega 3 horas, mientras que en windows toma la hora de la bios como la de la zona horaria donde este. La unica manera era ponerle a linux que estoy en londres que es el horario +0 pero despues tengo problemas con las paginas de internet.

    • La verdad no estoy usando la pc con linu’ ahora pero la zona horaria de Argentina es GMT-3. (Igual creo que no explicaría por qué te pone la hora correcta en GMT.)

    • Habria que ver que distro usas, en linux generalmente se utiliza la hora de la BIOS en UTC (hora 0) y a partir de alli configura la hora local (agrega +3); windows utiliza hora local en la bios, cuando pones en hora windows supongo que este modifica la bios a hora local y se arma el despelote. La solucion es configurar Linux para que utilice la hora BIOS como local y no le agregue esos +3. Saludos.

      Aca hay algo de info: https://wiki.archlinux.org/index.php/Time_%28Espa%C3%B1ol%29#Hora_est.C3.A1ndar

    • Muchaas gracias, me re salvaron. Jajaja me confundi GMT con gtm y +3 con -3 menos mal que me entendieron.

      Justo uso archlinux asi que la wiki que me pasaron me re sirvio.

  10. Interesante, la verdad nunca lo habia notado, apesar de que user miles de veces la funcion time() para crear contadores de usuarios en linea en php, nunca supe esto, buen articulo.

  11. Sep, como cuasi-perfeccionista declarado que soy, en mi casa tengo todos los sistemas Windows y GNU/Linux sincronizados con NTP (ar.pool.ntp.org). Incluido el router, claro está.

  12. No sean pesimitas que edad van a tener en el 2038 ? vamos a ser abuelo y no nos van a interesar las compus, vamos a tener otros problemas, que la ciatica, que la prosata , que el azucar…. lo demas va hacer lo de menos….

  13. El primer computador que usé, allá por el año 1985, era un NCR Decision Mate V, y no llevaba ninguna batería interna para mantener la hora, usaba CP/M 86 (que no manejaba la hora) y MS-DOS.

    Cuando lo iniciaba con D.O.S. había que ingresar la fecha y hora manualmente, el mismo sistema operativo las pedía al momento de bootear sin necesidad de usar los comandos date y time en el autoexec.bat. Si no ingresabas nada empezaba a contar desde 01/01/1980 a la 00:00 horas, y el administrador de sistemas siempre insistía en que le pusiéramos la fecha real porque era importante para el DOS y tenía razón. Cuando usé por primera vez un IBM PC me maravilló ver que mantenía el registro de tiempo aún apagado y desenchufado! Que tiempos aquellos!

  14. Tengo entendido que el problema del 2038 solo afecta a los procesadores (y sistemas operativos) que laburan en 32 bits y no a los de 64. ¿Estoy en lo correcto?

    • Si es cierto los procesadores actuales x64 vienen con el problemita resuelto, el problema es con los certificados, muchos vienen en formato viejo y el el 2038 dejaran de funcionar, incluyendo windows creo que del vista para atras, el 7, el 8 y el 10 no se, pero trasteando el mio me he encontrado certificados de sistema que caducan en el 2038, pero para ese entonces seran tan obsoletos como todo en la vida que se le cumple el tiempo de vida.

Dejar respuesta

Please enter your comment!
Please enter your name here