Tic tac, tic tac… Y2K38!



Vi ricordate il famoso millennium bug, per il quale erano stati previsti scenari apocalittici? Ebbene la paura non è finita perché esiste un altro tipo di millennium bug il quale però non è avvenuto nell’anno 2000, ma avverrà nell’anno 2038.

Infatti, il 19 gennaio 2038, i programmi basati su UNIX e i sistemi operativi UNIX andranno fuori tempo. Per essere più precisi, alle ore 3:14:07 GMT, l’orologio dei sistemi UNIX raggiungerà il valore di un miliardo.

La differenza tra il millennium bug (Y2K) e Y2K38, sta nel fatto che, mentre il primo era causato dal fatto che i computer utilizzavano poche cifre per memorizzare l’anno, questo è causato dal fatto che i computer utilizzano un numero di bit limitato per memorizzare il tempo al loro interno. Il tempo delle macchine UNIX di solito è memorizzato in una struttura dati di tipo long int, contenente il numero di secondi trascorsi dal 1970. Questo tempo è utilizzato in tutti processi in qualche modo collegati all’orologio come ad esempio scheduler, timestamp dei file etc. Nelle macchine a 32 bit questo valore è sufficiente per memorizzare secondi fino al 18 gennaio 2038. Dopo questa data, gli orologi a 32 bit andranno in overflow e inizieranno a restituire valori sbagliati come ad esempio 32 dicembre 1969.

Oggi un grande numero di macchine è affetto da questo problema. Probabilmente nel 2038, il numero di macchine affetto da questo problema sarà inferiore però ci saranno sicuramente molte altre macchine che continueranno ad esserne affette, ad esempio le macchine dei controllori oppure quelle dei semafori o ancora i sistemi di navigazione. Questo perché l’hardware di questo tipo di macchine non viene rinnovato con la stessa frequenza con la quale vengono rinnovate le macchine domestiche e i server.

Secondo l’opinione di alcuni questo tipo di problema avrà effetti più dannosi rispetto a quelli che ha avuto lo Y2K.

Annunci sponsorizzati:
Condividi su Facebook Condividi su Twitter!
Pinterest