Stanotte Unix Time a 1234567890

13 Febbraio 2009 6 di Elvio

Vi ricordate il Millenium Bug? Ricordate che molti PC su sistema Dos e Windows entrarono in palla perché la Microsoft non aveva previsto (20 anni prima) l’evento del cambio di millennio?

Al primo gennaio 2000, nonostante i preavvisi e le corse ai ripari, ci fu il caos, molti sistemi si bloccarono per data non riconosciuta o per valore fuori range e molti applicativi non furono in grado di superare il problema rimanendo bloccati.

I sistemi su base Unix e suoi derivati (tipo Linux, BSD ed altri) usano invece un sistema piuttosto strano per memorizzare e rappresentare internamente l’ora di sistema: a seconda del tipo di configurazione della CPU infatti, utilizza una variabile da 32 o 64 bit che rappresenta i secondi trascorsi dall’inizio dell’era UNIX. In pratica partendo dalla mezzanotte del 1° gennaio 1970 (ora UTC) questa variabile si incrementa di 1 ogni secondo trascorso. Questo porta ogni tanto, a rappresentazioni numeriche piuttosto strane e curiose.

Questa notte, per esempio, Venerdì 13 Febbraio 2009 alle ore 23:31:30 (considerando il fuso orario, in Italia dovrebbe accadere 1 ora dopo, quindi sabato 14 alle 00:31:30), la variabile di tempo detta UNIX Time raggiungerà il valore di 1234567890. Ci sono addirittura dei siti che vi faranno vedere lo stato di questa variabile in tempo reale (qui e qui).

La strana concomitanza con il giorno (considerato nefasto ai più) del venerdì 13 ha dato origine ad articoli divertenti e spassosi come questo (in inglese). Inoltre, per quanto stupido possa essere, sta muovendo molte persone interessate e Facebook addirittura ne celebra l’evento globale con inizio: venerdì 13 febbraio 2009 alle ore 23.00 e fine: sabato 14 febbraio 2009 alle ore 0.35

Personalmente invece, mi preoccuperei di quando, questa variabile, sarà satura, cioè quando il numero non potrà più essere rappresentato in soli 32 bit e quindi si riazzererà naturalmente alla data 1/1/1970 (dovrebbe succedere nel 2038). A quella data, se rimarranno macchine a 32 bit (ma ne dubito), potrebbero riaccadere problemi simili a quelli del 2000 (appena citati) coi sistemi DOS. Saluti

Aggiornamento: Per i più curiosi segnalo una vivace discussione avuta con alcuni imbecilli su google gruppi che vi segnalo, lì troverete anche alcuni chiarimenti riferiti a questo articolo.

 

MisterDomain.EU