Los ordenadores no dejarán de funcionar el 19 de enero de 2038

2038

A finales de los años 60, los primeros ordenadores UNIX (todavía no había Windows, aunque no podáis creerlo) contaban el tiempo en fracciones de 1/60 de segundo. La cuenta se llevaba sobre un entero con signo de 32 bits, que podía representar números desde −2.147.483.648 hasta 2.147.483.647. Aunque parezca un número muy grande, realmente solo permitía llevar la cuenta del tiempo durante 414 días. Más tarde, el sistema cambió para contar segundos enteros, lo que permitía gestionar fechas durante 24.855 días (68 años). Se decidió que la cuenta empezase en el primer segundo del 1 de enero de 1970. A esta manera de gestionar las fechas en computación se le llama tiempo Unix o Tiempo POSIX.

Ya desde su inicio se sabía que el día 19 de enero de 2028 a las 3:14:08 el sistema fallaría, marcando como fecha el 13 de diciembre de 1901 a las 8:45.

Year_2038_problem

Esto indudablemente supone un problema, ya que todos los programas que trabajan con este formato de tiempo se verán afectados. Todavía son muchos los sistemas que cuentan el tiempo con un entero de 32 bits con signo, como los sistemas android, iphone y muchos servidores, principalmente UNIX. Si vais a vuestro móvil y le intentáis cambiar la fecha, comprobaréis que no os deja avanzar más allá de 2037. La razón es esta, usan enteros de 32 bits con signo.

¿Por qué es esto un problema?

Porque después de más de 40 años utilizando este sistema, la codificación del tiempo con 32 bits está tan arraigada, que actualizarlo a 64 requiere de una gran inversión. Por ejemplo, se codifica el tiempo con 32 bits en muchos sistemas de ficheros (UNIX principalmente), en los campos de fecha de las bases de datos, en dispositivos bancarios, médicos y militares.

Cualquier cambio en el formato del tiempo provocaría la incompatibilidad con toda la información y los binarios previamente codificados con 32 bits.

La primera consecuencia de esta limitación, es que tendréis que cambiar de móvil antes de 23 años. La segunda, es que todos los programas que usen este protocolo de medida del tiempo tendrán que migrar si o si a un sistema equivalente de conteo del tiempo de 64 bits. Todavía no hay un criterio común sobre cual es la solución óptima, pero seguramente pasará por la coexistencia de los dos formatos, de 32 y 64 bits, y el paulatino abandono del antiguo para adoptar el nuevo. Sobre la adaptación de los datos que tienen embebido el formato de 32 bits, lo que ahora puede parecer una tarea faraónica, en 10 años parecerá un juego de niños. El primer disco duro con el que trabajé tenía 30 MBs. Pensaba que el tamaño de mi disco era absurdo, y que nunca nadie necesitaría tanto almacenamiento. Hoy lo habría llenado con 4 fotos. Dentro de 23 años es muy difícil estimar que capacidades tendrán nuestros ordenadores, pero para hacerse una idea, hace 23, en 1991, un PC medio como el que podemos tener en casa hoy, tenía un procesador intel 486 a 33 MHz (por supuesto, de un core), un disco duro de 500 MB y un modem a 2400 baudios. En 2038, este efecto será una anécdota.

  • Tru dijo:

    10 INPUT “¿Qué hora es?”;fechayhora$
    20 PRINT “Pues va a ser,”;fechayhora$
    30 IF fechayhora=19/01/2038/3:14:07 THEM fechayhora=19/01/2038/3:14:09
    40 END IF
    Por los pelos, pero asunto arreglado…

    :-D err en línea 30 corresponde THEN

  • CarlosR dijo:

    30 IF fechayhora=19/01/2038/3:14:07 THEM fechayhora=19/01/2038/3:14:09
    …………………………………………………………….^Syntax error at line 30

    :meparto:
    Joer que hilo más geek nos está quedando

  • lamentira dijo:

    @ Lampuzo:
    Yo ahi ya no llego. Lo más que he hecho con una tarjeta perforada es usarla como marcador de libros.

    Yo todavía llegué a conocer aquellos cacharros con aspecto de lavadora: SECOINSA, y aquellos primeros AS-400.

  • Doc Halliday dijo:

    y aquellos primeros AS-400

    Una pena lo de los 400. Con lo buenos que son y están en decadencia.

  • lamentira dijo:

    @ Lampuzo:
    ¿Esos floppys eran de 8″ no? Lo bien que se abanicaba uno con ellos.

    No, aunque he tenido que comprobarlo. Los 8″, creo, no se utilizaron hasta la salida al mercado de los IBM 370 y que eran una versión mejorada, aunque todavía compatible con 360.

    Yo lo que tengo son tarjetas perforadas.

  • Lampuzo dijo:

    lamentira dijo:
    @ Lampuzo:
    ¿Esos floppys eran de 8″ no? Lo bien que se abanicaba uno con ellos.

    No, aunque he tenido que comprobarlo. Los 8″, creo, no se utilizaron hasta la salida al mercado de los IBM 370 y que eran una versión mejorada, aunque todavía compatible con 360.

    Yo lo más antiguo que usé eran los de 5 1/4 con la friolera de 360K. Y luego los de HD,con 1.2 megas.

  • ¿Os acordáis del Amiga 500?

    ¿Y el AtarI?

  • Este fue mi primer sueño informático:

    Una pena que no esté por aquí jfce. Nos quedabamos los dos con la nariz pegada al escaparate.

  • @ CarlosR:

    :suicidio:

    Veo que alguno por aquí estudió el Catón pero yo hice la E.G.B., y recuerdo que nos enseñaron BASIC. Hicimos precisamente un reloj y con un amigo nos montamos un juego de tanques (básicamente consistía en acertar que tecla había presionado anteriormente el oponente en la batalla).

    @ Lampuzo:
    @ Doc Halliday:

    Tarjetas perforadas…en el trabajo…US postal?..,olvidadlo, en cualquier caso Babbage estaría orgulloso de vosotros… :-P

  • Coño…Tru…

    Al mirar al cacharro que tengo ahora sobre la mesa, y recordar aquella primera noche que conseguimos hacer funcionar el módem y conectarnos a internet (con una colección de direcciones de páginas web que nos habían prestado) y la emoción oyendo los pitidos y esperando que cargase…

    Fué la repera.

  • Yo empecé por aquí, con el código Murray.

  • @ Tobaga:
    @ lamentira:
    @ Doc Halliday:

    Las usé todas, compraba y vendía esos bichos.

    ¿Conocieron las MSX, las TS 2068, las ZX Spectrum?

  • @ Doc Halliday:

    Si Doc, todos pasamos por eso alguna vez… :lloro:

    @CalosR

    ¿Algún cilindro-sello en la estantería? :D

  • Tru dijo:

    recuerdo que nos enseñaron BASIC.

    Era divertido el BASIC, lo usaban todos los ordenadores en esa época. Lo aprendí solo con la TS 2068.

  • lamentira dijo:

    @ Nicolás:

    Tengo pendiente escribir sobre eso. ¿Conoces a John Titor?

    Alguna vez leí algo sobre el supuesto hombre del futuro, pero de fuente magufa :-D . Sería de utilidad una entrada sobre el tema.

  • lamentira dijo:

    CarlosR dijo:
    30 IF fechayhora=19/01/2038/3:14:07 THEM fechayhora=19/01/2038/3:14:09
    …………………………………………………………….^Syntax error at line 30

    Joer que hilo más geek nos está quedando

    :-D

  • CarlosR dijo:

    Era divertido el BASIC, lo usaban todos los ordenadores en esa época.

    Había una guerra entre el Basic y el Cobol, incluso algunas marca hacían su propio lenguaje.

  • Nicolás dijo:

    lamentira dijo:
    @ Nicolás:
    Tengo pendiente escribir sobre eso. ¿Conoces a John Titor?

    Alguna vez leí algo sobre el supuesto hombre del futuro, pero de fuente magufa . Sería de utilidad una entrada sobre el tema.

    Solo figura en fuentes magufas y lo debunkearon hace mucho. Terrible fraude ese Titor. Una página de fans http://www.johntitor.com/

  • lamentira dijo:

    ¿Hay alguien por aqui que usase las BBS?

    En sus últimos tiempos, después de cambiar mi Spectrum 128 por un PC. Todavía escucho los gritos de mi madre por tener la línea de teléfono ocupada.

  • Tobaga dijo:

    Había una guerra entre el Basic y el Cobol, incluso algunas marca hacían su propio lenguaje.

    Cada marca usaba un Basic propietario.

  • Tru dijo:

    @ Doc Halliday:
    Si Doc, todos pasamos por eso alguna vez…

    :cerveza:

  • Tru dijo:

    @CalosR

    ¿Algún cilindro-sello en la estantería? :D

    Tengo un TS 2068 con sus cartuchos, hace un tiempo funcionaba.
    Y un Amiga 1000 que no le funciona el floppy.

  • CarlosR dijo:

    ¿Conocieron las MSX, las TS 2068, las ZX Spectrum?

    El spectrum, fue mi primer ordenador

  • lamentira dijo:

    CarlosR dijo:
    ¿Conocieron las MSX, las TS 2068, las ZX Spectrum?
    El spectrum, fue mi primer ordenador

    Que tiempos aquellos, los jueguitos en casette, jugaba con mis hijos. :oops:

  • @ CarlosR:
    Yo tengo todavía un Macintosh II y si lo pusiera en marcha funcionaría, Ahh, y nada de colgarse.


\Incluya

Puedes seguir las respuestas a esta entrada por RSS 2.0 feed.

Uso de cookies

Este sitio web utiliza cookies. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies