Tempo (Unix)

sistemi di misura del tempo nei sistemi Unix e Unix-like
Versione del 11 gen 2009 alle 01:09 di Ianezz (discussione | contributi) (approfondito un po')

Nei sistemi operativi Unix e Unix-like il tempo viene rappresentato come offset in secondi rispetto alla mezzanotte (UTC) del 1º gennaio 1970 (detta epoca).

Per rappresentare tale offset viene usato il tipo time_t.

Questo tipo di rappresentazione, oltre che ad essere compatta, è indipendente dai fusi orari, ed è quindi direttamente confrontabile anche tra calcolatori situati a grandi distanze geografiche tra loro, ed evita di dover effettuare aggiustamenti nel caso ad esempio di dati trasmessi da un fuso orario all'altro.

Lo svantaggio è che per averne una rappresentazione sotto forma di data e ora locali è necessario effettuare una conversione; il sistema operativo offre allo scopo delle funzioni che consentono di effettuarle in entrambe le direzioni.

Anno 2038 e bit overflow

Nei calcolatori e nei sistemi operativi a 32 bit il tipo time_t è comunemente un tipo di dato numerico intero a 32 bit con segno. Il 19 gennaio 2038 alle ore 03:14:08 (GMT) il numero di secondi trascorsi dall'epoca raggiungerà il valore di 231, che è al di fuori dei valori rappresentabili da tale tipo di dato.

Tali calcolatori e sistemi operativi potranno quindi riscontrare problemi e malfunzionamenti, non essendo più in grado di memorizzare correttamente il valore che indica la data corrente.

Voci correlate

Collegamenti esterni

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica