Eli
248meneos

19-01-2007: a 31 años del efecto 2038

«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 2147483647. Un segundo después, el contador se desbordará, y saltará al valor -2147483648, que causará el fallo de programas que interpretarán el tiempo como que están en 1901 ó 1970 (dependiendo de la implementación), en vez de 2038.»

 63 comentarios en: ocio, curiosidades karma: 775
etiquetas: unix, timestamp
negativos: 0  usuarios: 248  anónimos: 0  compartir:  twitter  facebook  friendfeed
últimas relacionadas
  1. #1   Arreglé el enlace, la ñ no se parseaba correctamente.
    votos: 2, karma: 26
    por jotape el 18-01-2007 21:07 UTC
  2. #2   Esto es el fin ... a todas estas por esos días también nos va a impactar un meteorito ...
    votos: 2, karma: 42
    por mezvan el 18-01-2007 21:08 UTC
  3. por --13330-- el 18-01-2007 21:08 UTC
  4. por --8556-- el 18-01-2007 21:08 UTC
  5. #5   Otro fallo 2K! :-O
    votos: 0, karma: 10
    por davidhdz el 18-01-2007 21:09 UTC
  6. por --4337-- el 18-01-2007 21:10 UTC
  7. #7   #4 el efecto 2000 no se notó porque se arregló a tiempo. El efecto 2038, por el contrario, se sigue extendiendo cada vez que se fabrica una CPU de 32 bits o se programa con el time_t de 32 bits con signo :->
    votos: 5, karma: 54
    por jotape el 18-01-2007 21:11 UTC
  8. #8   yo creo que de aquí al 2038 no existiran CPU's de 32 bit
    votos: 18, karma: 103
    por davidhdz el 18-01-2007 21:12 UTC
  9. #9   #8 estamos a 2007 y seguimos usándolas de 8 bits...
    votos: 5, karma: 61
    por jotape el 18-01-2007 21:14 UTC
  10. #10   Pero recuerda el avance tecnólogico, Ley de Moore y demás.
    votos: 2, karma: 8
    por davidhdz el 18-01-2007 21:15 UTC
  11. #11   A los informáticos nos conviene esperar al último momento para arreglarlo. Así se podrá cobrar más pasta.
    votos: 13, karma: 106
    por mnln el 18-01-2007 21:17 UTC
  12. #12   yo aspiro a mantener mi equipido hasta ese año ..
    votos: 7, karma: 65
    por mezvan el 18-01-2007 21:18 UTC
  13. #13   #10 sí, Aramil, pero es que ciertos sistemas no requieren 64 bits (ni 32, ni 16). También es cierto que no siguen el estándard POSIX (ni ninguno, suelen ser de su padre y de su madre xD), pero usarse se usan.

    <opinion> Moore mola, pero para las CPU's de casa y tal, no para los entornos especializados. </opinion>
    votos: 4, karma: 15
    por jotape el 18-01-2007 21:20 UTC
  14. #14   JP, solo recuerda como era la tecnología hace 50 años.
    votos: 1, karma: 16
    por davidhdz el 18-01-2007 21:22 UTC
  15. #15   #14 Jajajajaja .... #13 Te acaban de llamar VIEJO xD
    votos: 12, karma: 94
    por Liamngls el 18-01-2007 21:37 UTC
  16. #16   Excelente informacion. Gracias.
    votos: 2, karma: 32
    por hernan el 18-01-2007 21:44 UTC
  17. #17   #14 si recordara la tecnología de hace 50 años, cumpliría -29 xD
    votos: 7, karma: 33
    por jotape el 18-01-2007 21:49 UTC
  18. #18   Es verdad, entonces preguntale a tus ancestros. :-P
    votos: 2, karma: 23
    por davidhdz el 18-01-2007 21:50 UTC
  19. #19   Para el 2038 usaremos todos CPUs de 128 bits, ni 64 ni leches :-P
    votos: 3, karma: 25
    por JarFil el 18-01-2007 21:54 UTC
  20. #20   Voy a ponerme un aviso en el Google Calendar para que me avise de este problema 2 años antes de que ocurra. Osea, para el 2036, yo mismo pondre de nuevo la noticia en meneame para que no nos olvidemos del problema.
    votos: 8, karma: 61
    por sorrillo el 18-01-2007 21:57 UTC
  21. #21   otra noticia de la wikipedia ?

    a quien se le ocurrió usar un contador con signo para implementar esto ?
    votos: 6, karma: 12
    por pinar el 18-01-2007 21:58 UTC
  22. #22   #21 a Moisés...
    votos: 1, karma: 25
    por odin el 18-01-2007 22:01 UTC
  23. #23   Es la SEÑAL. Una vez llegado ese punto, todo volverá a tal año y así sucesivamente... un ciclo sin fin.
    votos: 4, karma: 34
    por raze el 18-01-2007 22:03 UTC
  24. #24   Estoy con #21: ¿Por qué narices usan un contador con signo? Se pierde la mitad de segundos representables. Si esto tiene algún motivo, que alguien lo explique.
    votos: 4, karma: 25
    por MrBlonde el 18-01-2007 22:05 UTC
  25. por --7500-- el 18-01-2007 22:08 UTC
  26. #26   #24 para operaciones con diferencias horarias. Si necesitas saber si X < Y, resta Y a X. Si el resultado es negativo, X < Y, sino, X >= Y.

    PD: ¿Y tú estás en la FIB, mangurrián? xD
    votos: 9, karma: 60
    por jotape el 18-01-2007 22:09 UTC
  27. por --9762-- el 18-01-2007 22:18 UTC
  28. votos: 18, karma: -114
    por jjmf el 18-01-2007 22:19 UTC
  29. por --9762-- el 18-01-2007 22:21 UTC
  30. #30   #27 también, también, pero hablamos de operaciones a nivel de hardware, así que necesitamos que las operaciones sean lo más rápidas posibles. Hablamos del tiempo, del reloj del sistema, no podemos entretenernos en castings y demás. Si el registro trabaja a 32 bits con signo, la forma más rápida de tratar con él será usando ese mismo tipo, no? ¿Que hoy en día a los registros de las CPU's les da igual 8 que 80? De acuerdo, pero es lo que tú dices, qué iban a saber ellos en la prehistoria :)

    #27 yo soy Einstein y tú eres tonto directamente. La máquina usa restas para comparar. Que tú no lo sepas, no es mi problema (ni el de Einstein)
    votos: 10, karma: 87
    por jotape el 18-01-2007 22:22 UTC
  31. #31   Miradlo por el lado bueno, el día que eso suceda, todas las licencias se renovarán automáticamente.
    votos: 6, karma: 63
    por gothmog el 18-01-2007 22:24 UTC
  32. por --9762-- el 18-01-2007 22:25 UTC
  33. #33   #32 es que soy Einstein, ya sabes ;)
    votos: 4, karma: 31
    por jotape el 18-01-2007 22:26 UTC
  34. #34   Que le quiten el signo y ya tenemos otro siglo y pico!!

    Los que sepan de qué va el complemento a 2 sabrán que los números positivos y los equivalentes sin signo son iguales en binario.
    votos: 1, karma: 15
    por DiThi el 18-01-2007 22:27 UTC
  35. #35   pues es lo que les debe pasar con el boletín informativo de 20 minutos.es ya que llega con fecha 01/01/1970 1:00
    votos: 1, karma: 12
    por ev3c el 18-01-2007 22:29 UTC
  36. #36   En ensamblador/lenguaje máquina, hay instrucciones para comparar enteros, lo que ya no sé es si lo que hacen es restar los números o no. Lo hagan restando o no, lo que se necesita es un signo para saber cual de los dos enteros que se comparan es el mayor. Y para hacer esto, no se necesita que los dos enteros a comparar tengan signo.
    votos: 2, karma: 9
    por jjmf el 18-01-2007 22:30 UTC
  37. #37   #36
    En ensamblador/lenguaje máquina, hay instrucciones para comparar enteros, lo que ya no es si lo que hacen es restar los números o no.
    Sí, la circuitería del procesador usa restas para comparar. El ensamblador sigue siendo una abstracción (de las de más bajo nivel, claro)

    Lo hagan restando o no, lo que se necesita es un signo para saber cual de los dos enteros que se comparan es el mayor.
    Ya, eso es lo que tenemos ahora, aprovechamos el bit de signo del complemento a dos para comparar.

    Y para hacer esto, no se necesita que los dos enteros a comparar tengan signo.
    Y si restamos peras y manzanas obtenemos plátanos. O podemos restar peras y peras, manzanas y manzanas, plátanos y plátanos...
    votos: 3, karma: 33
    por jotape el 18-01-2007 22:35 UTC
  38. #38   joder cuanto cálculo. Por casualidad no estaréis estudiando nada relacionado con la informática?
    votos: 3, karma: 23
    por raze el 18-01-2007 22:35 UTC
  39. #39   Genial!! El mundo se ira al traste el dia de mi 58 cumpleaños!! :D
    votos: 2, karma: 18
    por flx el 18-01-2007 22:55 UTC
  40. #40   Bueno he sido algo exagerado diciendo lo de Einstein, lo reconozco, lo que pasa es que #26 se había metido con #24 y yo he hecho igual, igual que han hecho los demás conmigo.

    Estoy de acuerdo en que restando dos enteros sin signo, no se puede comparar fechas pues el resultado de la resta siempre es un entero sin signo.
    Pero se puede comparar sin restar, no nos hace falta la diferencia entre los dos, solo cual es mayor. Eso se hace en los lenguajes de alto nivel, en lenguaje máquina o en ensamblador. No hace falta cast ni nada parecido.
    votos: 2, karma: -5
    por jjmf el 18-01-2007 22:56 UTC
  41. por --9762-- el 18-01-2007 22:57 UTC
  42. #42   #37 Y si restamos peras y manzanas obtenemos plátanos. O podemos restar peras y peras, manzanas y manzanas, plátanos y plátanos...

    Joder, me recuerdas a Ana Botella... :lol:
    votos: 4, karma: 23
    por strider el 18-01-2007 22:58 UTC
  43. por --9762-- el 18-01-2007 22:59 UTC
  44. #44   #40
    Pero se puede comparar sin restar, no nos hace falta la diferencia entre los dos, solo cual es mayor. Eso se hace en los lenguajes de alto nivel, en lenguaje máquina o en ensamblador. No hace falta cast ni nada parecido.
    Explícale eso a los transistores de silicio de la CPU. Por cierto, que al #24 lo conozco personalmente, de verlo cada día, de ahí mi licencia (y dudo que le haya insultado)

    #42 sí, ha sido mi intención xD
    votos: 2, karma: 19
    por jotape el 18-01-2007 23:00 UTC
  45. #45   Me estais contando que dentro de 31 años,va a pasar exactamente lo mismo que en el 2000?.....osea NADA!!!!! que miedo mas grande tengo yo en el cuerpo...como nos descuidemos,nuestros microndas en vez de calentarnos la leche esa mañana,no la dejan congelada!!!!
    votos: 1, karma: 17
    por skeletor el 18-01-2007 23:04 UTC
  46. por --16066-- el 18-01-2007 23:23 UTC
  47. por --3424-- el 19-01-2007 00:07 UTC
  48. #48   #47 excelente explicación, gracias :)
    votos: 2, karma: 18
    por jotape el 19-01-2007 00:08 UTC
  49. por --3424-- el 19-01-2007 00:12 UTC
  50. #50   En las todas las versiones de 64 bits de Linux (y glibs), el time_t es de 64 bits y no tendrá ese bug, confirmado empíricamente con el programa de abajo.

    En meneame.net (64 bits):
    $ perl test.pl
    Tue Jan 19 03:14:01 2038
    Tue Jan 19 03:14:02 2038
    Tue Jan 19 03:14:03 2038
    Tue Jan 19 03:14:04 2038
    Tue Jan 19 03:14:05 2038
    Tue Jan 19 03:14:06 2038
    Tue Jan 19 03:14:07 2038
    Tue Jan 19 03:14:08 2038
    Tue Jan 19 03:14:09 2038
    Tue Jan 19 03:14:10 2038

    En uno de 32 bits:
    $ perl test.pl
    Tue Jan 19 03:14:01 2038
    Tue Jan 19 03:14:02 2038
    Tue Jan 19 03:14:03 2038
    Tue Jan 19 03:14:04 2038
    Tue Jan 19 03:14:05 2038
    Tue Jan 19 03:14:06 2038
    Tue Jan 19 03:14:07 2038
    Fri Dec 13 20:45:5...  » ver todo el comentario
    votos: 11, karma: 86
    por erlang el 19-01-2007 00:19 UTC
  51. #51   En realidad todo esto pasará si triunfa linux, ya que es un sistema Unix. Si la batalla la gana windows en realidad no tenemos de que preocuparnos. Almenos por esto.
    votos: 0, karma: 8
    por pinar el 19-01-2007 00:55 UTC
  52. #52   pinar, mira #50, que en Linux ya está solucionado desde hace años con la arquitectura de 64 bits...
    votos: 1, karma: 26
    por erlang el 19-01-2007 00:57 UTC
  53. #53   Hombre, no creo que se pueda comparar con el efecto 2000 y las soluciones/chapuza de limitar el rango de fechas a un siglo para ir tirandillo, pero vamos, que tratándolo con antelación no será nada grave.

    Ains... si es que los informáticos son unos chapuceros... oh, wait!

    PD: Venga, alguien que reste cuánto queda para el 1/ene/10000 día del efecto 10.000 xD
    votos: 1, karma: 18
    por ksogui el 19-01-2007 00:57 UTC
  54. #54   Que bien, no tengo ningún problema, y aunque ahora tengo un portatil de 64bits, creo que no durara para el 2038
    votos: 0, karma: 6
    por rmayorga el 19-01-2007 01:01 UTC
  55. por --3424-- el 19-01-2007 01:11 UTC
  56. #56   gracias #1, jotape :)

    #21 no es una noticia de la Wikipedia, porque la Wikipedia no es un periódico. Tampoco es sobre la Wikipedia, porque no analiza cómo se trata allí esta información. Simplemente la Wikipedia explica bien esta noticia de una efeméride.

    Felicidades, #39 :)
    votos: 2, karma: 17
    por benjami el 19-01-2007 01:57 UTC
  57. #57   ¡ Esta noticia es antigua !
    El caos ya lo predijo Jonh Titor ( es.wikipedia.org/wiki/John_Titor ) hace un par de años. De hecho, ese fue su principal motivo para viajar a nuestro tiempo xD!!!

    "Los mensajes que dejó Titor afirman que era un soldado al cual se le asignó la misión de participar en un programa gubernamental de viajes en el tiempo. Supuestamente fue enviado desde 2036 hasta 1975 para conseguir un ordenador IBM 5100. Según él, esta máquina era necesaria para solventar el Efecto 2038, análogo al Efecto 2000, sufrido por los ordenadores con sistema operativo UNIX. "

    (Ahora en serio, historia y toda la mitología al rededor de John Titor de verdad no tiene desperdicio ;))
    votos: 3, karma: 38
    por mimismo el 19-01-2007 04:06 UTC
  58. #58   Menuda chorrada. Basta con poner un entero sin signo, y automáticamente desaparece el problema durante más de 60 años, hasta el 2106.
    votos: 8, karma: -62
    por halftime el 19-01-2007 07:37 UTC
  59. #59   Voto el comentario anterior para el hoygan del dia...
    votos: 2, karma: 10
    por shiximaru el 19-01-2007 09:29 UTC
  60. por --10627-- el 19-01-2007 11:00 UTC
  61. por --3728-- el 19-01-2007 11:40 UTC
  62. #62   #61 me gustaría saber si he sido yo :-> (Rectificar es de sabios™)
    votos: 1, karma: 19
    por jotape el 19-01-2007 11:44 UTC
  63. #63   Decidme que aprender todo eso es fácil :(
    votos: 0, karma: 5
    por raze el 19-01-2007 13:49 UTC
comentarios cerrados

menéame