Link Me
Inserisci nel tuo sito un link a NonSoloGuide

Maggiori info e altre immagini
Articoli : 19 gennaio 2038: La fine del mondo digitale?
Inviato da Webmaster il 6/10/2009 20:39:53 (2475 letture)



Ho letto qualche giorno fa il libro di Ippolita "The dark side of Google" (che potete scaricare gratuitamente e legalmente da qui: www.ippolita.net/google [Il libro è rilasciato sotto licenza Creative Commons 2.0 by-nc-sa]).

Una cosa che mi ha colpito particolarmente è stato l'appendice 1 (pagina 78 del libro), il quale lo riporto in versione quasi integrale:

"Il 19 gennaio 2038 è una data essenziale per tutto il mondo POSIX, che comprende tutti i sistemi operativi derivati dal sistema UNIX (GNU/Linux, BSD, Solaris, ecc...) e tutti i protocolli di rete UNIX style (http, ftp, ecc...). Sui sistemi POSIX il tempo è regolato per ragioni storiche dal numero di secondi intercorsi dal primo gennaio 1970.
L'unità di misura per questo numero è un 'intero segnato', valore che nell'informatica occupa in memoria 32 bits.
Se un programmatore crea una variabile di tipologia intero segnato per memorizzare un valore numerico, questo può essere come minimo -2147483648 e come massimo 2147483647. Un numero molto grande, ma che diventa un valore piccolissimo se lo trasformiamo in secondi. In 32 bits infatti ci stanno appena 136 anni.
Quando Ken Thompson, quasi per gioco, inventò Unix, mai avrebbe immaginato di rivoluzionare a tal punto l'informatica e soprattutto mai avrebbe pensato che una serie di sue scelte (il filesystem, l'ora, la codifica caratteri, le chiamate a funzione, il linguaggio di programmazione, ecc...) sarebbero diventate legge per ogni programmatore del globo da lì a brevissimo. Thompson decise nel 1972 che la data 0 (zero) del suo sistema operativo sarebbe stata il 1 gennaio 1970.

2147483647 secondi dopo il 1 gennaio 1970, sarà esattamente il 19 gennaio 2038 alle 3:14 di mattina, ultimo secondo del mondo Unix, di internet (che funziona grazie a protocolli Unix) e dei principali server del globo (che utilizzano sistemi operativi derivati da Unix). Dopo quel secondo saremo proiettati nel 13 dicembre 1901 alle 20:45. Sicuramente questo sarà un problema da gestire da qui ai prossimi anni e richiederà un cambio epocale nella gestione del tempo e di tutto il resto nei sistemi Unix. Sicuramente un problema un po' più serio e fondato del tanto decantato "Millennium bug" nel passaggio dal 1999 al 2000."


Qual'è la soluzione? Bhè... semplicemente... da qui ad un paio di anni i computer saranno tutti a 64 bit, e il problema non si presenterà! :P



Dopo aver letto tutto ciò ho finalmente capito perchè quando uso determinate funzioni 'temporali', queste iniziano a contare dal 1 gennaio 1970!



Ricordo infine che il libro è distribuito sotto licenza Creative Commons 2.0 (Attribuzione, Non Commerciale, Condividi allo stesso modo). Maggiori dettagli sulla licenza li potete trovare nelle ultime pagine del libro.

Condividi: FB OK Notizie Twitter Google Yahoo                        Altre Azioni: Printer Friendly Page Invia questa guida ad un amico


Altre guide
30/08/2017 0:18:19 - e-Sports videogiocatori professionisti e ben pagati
29/08/2017 17:51:35 - Short Comedy Sketch (off-topic)
13/02/2017 17:39:40 - Amazon Underground: app Android gratis per tutti (in modo legale)
6/01/2017 0:06:56 - Toonz il software di animazione diventato open source
2/01/2017 20:56:02 - Come tracciare i partecipanti ad una call Skype for Business/Lync
2/01/2016 16:36:34 - Da Yosemite a El Capitan (aggiornamento OSX)
2/01/2016 14:57:07 - Akinator: indovino QUALSIASI persona tu abbia in mente!
2/01/2016 0:11:46 - Problemi con l'app "App Store"? Basta ripulire la cache delle varie sezioni
2/01/2016 0:06:12 - L'albero genealogico GNU/Linux ed Android
28/12/2015 0:35:34 - Mettere in mute YouTube direttamente dalla scheda del browser

I commenti sono di proprietà degli autori. Si declina ogni responsibilità sul loro contenuto.