Y2K38: il millennium bug di Linux

Il giorno 19 gennaio 2038 potrebbe mandare in tilt tutti i sistemi basati su Unix.

Avatar di Vincenzo Ciaglia

a cura di Vincenzo Ciaglia

Il 2000 è stato sicuramente un anno da ricordare per tutti gli informatici o i semplici curiosi e appassionati di tecnologia. Il "millenium bug" avrebbe dovuto mandare in tilt tutti i computer del mondo. Scampato il pericolo, con il senno di poi, si è capito che si trattava soltanto di una speculazione fatta dai media, ma supportata dai sempre apocalittici report del governo americano. In realtà nessun computer smise di funzionare e non ci furono particolari problemi.

Tuttavia una situazione del genere potrebbe riproporsi con tutti i sistemi Linux, precisamente il 19 gennaio del 2038.

In pratica, i sistemi operativi Unix rappresentano il tempo in secondi a partire da 00:00:00, ossia dal primo gennaio 1970. Sulla maggior parte dei sistemi a 32 bit, il tipo di dato time_t, utilizzato per memorizzare i secondi, è un intero a 32 bit. Ciò significa che è possibile memorizzare secondi proprio fino al 19 gennaio 2038, rappresentato come 03:14:07. Andare oltre questa soglia significherebbe ripartire dal 1901. Ve li immaginate i vostri dati al Ministero che riportano come ultima data di modifica un giorno successivo ai primi del 1901? La cosa certa è che prima del 2038 il curioso problema verrà sicuramente risolto, ma una cosa la possiamo dire: anche Linux ha avuto il suo millennium bug!.