29

Siamo a fine anno. Il 2038 si avvicina.

dicembre 2007 da Lobotomia

1 Stella2 Stelle3 Stelle4 Stelle5 Stelle6 Stelle7 Stelle8 Stelle9 Stelle10 Stelle (Non ancora votato)
Loading ... Loading ...

Natale è ormai passato da qualche giorno e la fine dell’anno si avvicina, sempre più vicini siamo all’anno 2038. Non molti sono a conoscenza del dell’anno 2038 (), vediamo cos’è.

More...

Il bug dell’anno 2038 è un noto che riguarda la rappresentazione della data nei sistemi POSIX che, come è noto, calcolano la data di sistema come differenza di secondi dal giorno 1 Gennaio 1970.
Nella maggior parte dei sistemi (e derivati) il valore che viene usato per questo calcolo è un intero a 32 bit di tipo signed, generalmente un tipo di questo genere rappresenta numeri da -2147483648 a 2147483647, ciò significa che la più grande data rappresentabile è giovedì martedì 19 gennaio 2038, per la precisione le ore 03:14:07 di quel giorno. Superata tale data, l’intero rappresentato diventerà negativo, quindi i computer rappresenteranno le date come se fossero nel 1901.

La risoluzione del problema non è così semplice come sembra, cambiare il tipo di dato da signed ad unsigned allungherebbe solo la data di presentazione del problema al 2106, mentre adottare interi di 64 bit potrebbe rendere il software inutilizzabile in molti sistemi. Nel frattempo i sistemi stanno comunque migrando verso i 64 bit, quindi molto probabilmente il problema verrà risolto con la graduale migrazione verso questa architettura. Per controllare se un sistema affetto o meno dal si può utilizzare il seguente codice :

#!/usr/bin/
use POSIX;
$ENV{'TZ'} = "GMT";
for ($clock = 2147483641; $clock < 2147483651; $clock++)
{
print ctime($clock);
}

Basta salvare il codice in un file (ad esempio test2038.pl), dargli i permessi di esecuzione (chmod + x test2038.pl) ed eseguirlo (./test2038.pl).

L’output in un sistema in cui è presente il sarà del tipo:

Tue Jan 19 03:14:01 2038
Tue Jan 19 03:14:02 2038
Tue Jan 19 03:14:03 2038
Tue Jan 19 03:14:04 2038
Tue Jan 19 03:14:05 2038
Tue Jan 19 03:14:06 2038
Tue Jan 19 03:14:07 2038
Fri Dec 13 20:45:52 1901
Fri Dec 13 20:45:52 1901
Fri Dec 13 20:45:52 1901

Mentre se invece il sistema non è affetto dal avremo un risultato del tipo:

Tue Jan 19 03:14:01 2038
Tue Jan 19 03:14:02 2038
Tue Jan 19 03:14:03 2038
Tue Jan 19 03:14:04 2038
Tue Jan 19 03:14:05 2038
Tue Jan 19 03:14:06 2038
Tue Jan 19 03:14:07 2038
Tue Jan 19 03:14:08 2038
Tue Jan 19 03:14:09 2038
Tue Jan 19 03:14:10 2038

E con questo è tutto. Se volete avere maggiori informazioni visitate il sito ufficiale di diffusione delle informazioni sul .

Post correlati

7 Risposte a “Siamo a fine anno. Il 2038 si avvicina.”

  1. ZioBudda.net said:

    Siamo a fine ano. Il 2038 si avvicina.

    Natale è ormai passato da qualche giorno e la fine dell’anno si avvicina, sempre più vicini siamo all’anno 2038. Non molti sono a conoscenza del bug dell’anno 2038 (Y2K38), vediamo cos’è.

  2. La fine dell’anno, -30 al 2038 quando saremo pronti? « Lobotomia & WordPress said:

    [...] il 2008 è alle porte… mancano solo 30 anni al 2038 e troppi software soffrono ancora del bug Y2K38, dovremo aspettare il 2037 per vedere soluzioni funzionanti come per l’anno 2000? Intanto [...]

  3. diggita.it said:

    Siamo a fine ano. Il 2038 si avvicina. | PettiNix

    Natale è ormai passato da qualche giorno e la fine dell’anno si avvicina, sempre più vicini siamo all’anno 2038. Non molti sono a conoscenza del bug dell’anno 2038 (Y2K38), vediamo cos’è.

  4. upnews.it said:

    Siamo a fine anno. Il 2038 si avvicina. | PettiNix

    Natale è ormai passato da qualche giorno e la fine dell’anno si avvicina, sempre più vicini siamo all’anno 2038. Non molti sono a conoscenza del bug dell’anno 2038 (Y2K38), vediamo cos’è.

  5. virus said:

    Sembra che anche il mio sistema ne sia afflitto, prima del 2038 cambierò architettura.

    Avevo letto qualcosa sul libro:
    luci e ombre di google verso la fine.

  6. kalos said:

    Scusami… prima di tutto ho vomitato il panettone appena ho iniziato a leggere il tuo post interessantissimo, che “cassio” ci fa la pubblicita’ di Forza Itaglia all’inizio del post? Dammi il tuo indirizzo postale che ti mando un pacco dono di 12 bombolette di DDT e dai una bella ripassata a questa tarme…
    Venendo al post, oserei dire che sei oltremodo ottimista a pensare che nel 2038 dovremo ancora preoccuparci dell’ennesimo millennium bug… per allora parleremo cinese e scriveremo con gli ideogrammi e la nostra unica preoccupazione sara’ come fronteggiare la “non pensione” che ci spetta da informatici…
    un abbraccio al fico d’india dal tuo inviato ai confini dell’Impero…

  7. m477 said:

    il 19 gennaio non é giovedí. È un martedì

Leave a Reply

XHTML: Puoi usare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>