Jump to Navigation

Millenium Bug 2: "Year2038" il 19 gennaio 2038 finirà Internet?

Ritratto di Fixus

Il famoso “Millenium Bug” del 2000 non ha dato grossi problemi grazie a piccoli aggiornamenti a Windows e a programmi obsoleti.
Ora invece si parla di dover andar a cambiare lo “Standard” di memorizzazione delle date utilizzato in quasi tutti i programmi esistenti dai Grossi server Internet agli ascensori di casa nostra.

La paura per il famoso “Millenium Bug” non era nulla al confronto al nuovo incubo in arrivo per il 2038 chiamato: “Year 2038”, “Y2038”, “Y2K38”, “Y2.038K”

Il problema è che ora non saranno colpiti solo programmi scritti alla buona dai singoli programmatori ma sarà colpito direttamente il famosissimo linguaggio di programmazione “C” alla base del 99% dei programmi scritti anche in altri linguaggi.

Sarà colpito anche Internet con tutti i suoi server a livello globale perchè basato su protocolli di memorizzazione delle date che il 19 gennaio 2038 alle ore 03:14:07 AM tornerà a venerdì 13 dicembre 1901 ore 20:45:52.

Tecnicamente il problema nasce dai valori a 32 bit usati dal dato time_t che è definito come un numero intero a 32 bit di tipo signed e cioè da -2147483648 a 2147483647. Questo grande numero è in secondi e quindi limitato a soli 136 anni che partendo dalle 00:00:00 del 1/1/1970 arriva alle 03:14:07 di giovedì 19/01/2038!
Poi lo sbalzo dal valore massimo al minimo negativo ci proietterà direttamente al 13 dicembre 1901 alle 20:45.

Come denunciato anche dal sito ufficiale, 2038bug.com, però, l’errore comune è quello di credere che il problema verrà risolto con la semplice adozione dei 64 bit, non considerando che i molti strumenti che utilizzano sistemi embedded (forni a microonde, ascensori, orologi da polso, ecc.), sono ancora a 8/16 bit e che molti database utilizzano, per i propri campi data, dei Timestamp a 32 bit.

Da notare che Google si sta già preparando per esempio impostando le date di scadenza dei cookie al 17 gennaio 2038: due giorni prima della fine dell’Unix Epoch.

Categoria: 
Voto: 
No votes yet


Main menu 2

by Dr. Radut.