martedì 19 febbraio 2008

Il mondo terminerà il 19 Gennaio 2038

Come molti di noi ricordano, l'ingresso dell'anno 2000 portò con sé la paura in tutto il mondo che i computer presenti all'interno delle industrie e dei vari Governi avrebbero smesso di funzionare in modo appropriato a causa del calcolo della data, bug noto a tutti con il nome di Millenium Bug. Questo avrebbe dovuto avvenire tra il 31 Dicembre 1999 e l'1 Gennaio 2000.





Mentre oggi possiamo ben affermare che in quel caso non ci sia stata una reale manifestazione del bug che abbia portato in crash i sistemi in quel momento in funzione, questo non potrebbe essere il caso per il bug Y2K38.
Anche se questo bug avrà effetto sui soli sistemi operativi Unix e derivati, se fosse vero, sarà la causa di una massiva sventura che si abbatterà sul mondo dei computer e del mondo reale allo stesso tempo.

In poche parole, il problema che si presenterà nel 2038 consiste nel fatto che i sistemi operativi Unix e derivati rappresentano internamente il tempo come il numero di secondi trascorsi dalla data 1 Gennaio 1970 alle ore 00:00:00. Su molti sistemi a 32-bit, il tipo di dato utilizzato per accumulare i secondi trascorsi a partire da quella data è il time_t che è un intero a 32-bit con segno.

Facendo un calcolo, l'ultima data che si può rappresentare con questo formato, seguendo lo standard POSIX, sarà il Giovedì 19 Gennaio 2038 alle ore 03:14:07 UTC. Al di là di questo precisto momento il contatore subirà un overflow che porterà a una rappresentazione interna del numero stesso come numero negativo.
Da qui i problemi, il sistema interpreterà questo numero non come una data che indica il 2038 ma piuttosto il 1901. Proviamo a immaginare cosa può accadere se applicazioni del monto finanziario, nucleare, elettrico e dello stesso internet dovessero subire questo problema.


Ma sarà davvero così? Il trascorre del tempo sarà causa di panico? Non del tutto. In primo luogo, l'anno 2038 si presenterà in un momento molto lontano da noi e molte cose potranno cambiare in tutto questo tempo a venire. In secondo luogo, teniamo ben in mente che solo i sistemi a 32-bit sono soggetti a questo problema e che i sistemi a 64-bit stanno piano piano facendo il loro ingresso anche sulle macchine di uso domestico, oltre che nel mondo del lavoro. Inoltre, i sistemi a 64-bit presentano un arrotondamento della data che avverrà tra 290 bilioni di anni; il ché dovrebbe essere sufficiente per rassicurare tutti quanti noi.

Nessun commento: