Bug Anno 2038. Stessi Problemi Del Bug Dell’Anno 2000

14 Agosto 2007 di Daniele Frulla


Ancora una volta si annuncia un altro bug simile a quello dell'anno 2000, ma questa volta per l'anno 2038, sui software che si basano sul formato della data POSIX.

I programmatori hanno abbastanza tempo per aggiornare i loro software! 

Qualsiasi programma abbiate per martedì 19 gennaio alle ore 03:14:07 dell'anno 2038, quel giorno, speriamo che sia a 64 bit! Altrimenti rischiate seriamente di incorrere nel 2038 BUG!

Eh si, perchè i sistemi Unix a 32 bit indicano la data con un valore intero di 31 bit più un bit per il segno (positivo o negativo).

Poichè 231 equivale a 2.147.483.647 secondi, ovvero più di 35 milioni di minuti, quindi quasi 600 mila ore, cioè poco meno di 25 mila giorni, ciò significa che più o meno dopo 68 anni dalla data di default (1 gennaio 1970), ovvero alle ore 3.14 e 7 secondi del 19 gennaio del 2038, il contatore andrà in overflow, passando al valore -2.147.483.648 continuando poi ad incrementarsi fino allo zero (per altri 68 anni).

Questo causerà problemi a molti programmi, che evidentemente non sono in grado di gestire la data quando questa passerà ad un valore negativo!

La soluzione? Beh, aggiornare i sistemi di gestione della data con i più nuovi a 64 bit, grazie ai quali il problema non sarà propriamente risolto, ma rimandato di ben 290 milioni di anni! Sistemi di questo tipo sono già ora in vendita e non è difficile immaginare che nei prossimi 30 anni la maggior parte sarà stata sostituita, anche se non stiamo parlando di soli personal computer ma anche di motori di ascensori, forni microonde, distributori di benzina, i cui tempi di aggiornamento sono sicuramente più lunghi rispetto ai normali pc.

Molte altre informazione le potrete trovare sul Bug 2038 che affronta il problema. 

Fonte: www.newstechnology.eu  


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *


Copyright di Caterina Mezzapelle Part. I.V.A. 02413940814 - R.E.A. 191812