
Autore: Brolli Massimiliano
Data Pubblicazione: 30/11/2021
Spesso chi ha lavorato con i sistemi UNIX, ne avrà sentito parlare. In questo articolo vogliamo analizzare l’epoch date, comprendere come funziona, i suoi limiti e quale è stata la sua genesi.
Ci dobbiamo catapultare alla fine degli anni 60, precisamente nel 1969 nei laboratori Bell, quando Dennis Ritchie e Ken Thompson rilasciarono la prima versione del sistema operativo UNIX.
In informatica, una data epoch, è un timestemp dal quale un computer misura la data di sistema. La maggior parte dei sistemi informatici determina il tempo come un numero che rappresenta i secondi rimossi da una particolare data e ora arbitraria.
Ad esempio, Unix e POSIX misurano il tempo come il numero di secondi trascorsi da giovedì 1 gennaio 1970 00:00:00 UT, un momento noto come l’epoch Unix.
L’epoca di Unix è la mezzanotte del 1 gennaio 1970. È importante ricordare che questo non è il “compleanno” di Unix: negli anni ’60 esistevano versioni approssimative del sistema operativo. Invece, la data è stata programmata nel sistema all’inizio degli anni ’70 solo perché era conveniente farlo, secondo Dennis Ritchie, uno degli ingegneri che hanno lavorato su Unix presso i Bell Labs all’inizio.
Ogni giorno nel mondo Posix/Unix, viene trattato come se contenesse esattamente 86.400 secondi e le prime versioni dell’ora Unix avevano un numero intero a 32 bit che aumentava a una frequenza di 60Hz, che era la frequenza del clock di sistema sull’hardware dei primi sistemi Unix.
Di conseguenza, il valore 60Hz appare ancora in alcune interfacce software. Anche l’epoca differiva dal valore attuale. La prima edizione del Manuale del programmatore Unix datata 3 novembre 1971 definisce il tempo Unix come
“il tempo dalle 00:00:00, 1 gennaio 1971, misurato in sessantesimo di secondo”.
Come indicato dalla definizione citata sopra, la scala temporale Unix era originariamente intesa come una semplice rappresentazione lineare del tempo trascorso da un’epoca.
Un intero con segno a 32 bit può rappresentare numeri interi compresi tra -2147483648 e 2147483647.
Poiché Unix Time inizia da 0, i valori Unix Time negativi tornano indietro nel tempo dall’epoch time ei numeri positivi vanno avanti nel tempo. Ciò significa che Unix Time va dal valore Unix Time di -2147483648 o 20:45:52 GMT del 13 dicembre 1901 al valore Unix Time di 2147483647 o 3:14:07 GMT del 19 gennaio 2038.
Queste date rappresentano l’inizio, la preistoria e la fine del tempo Unix.
infatti, la fine di Unix Time avverrà il 19 gennaio 2038 03:14:07 GMT. Il 19 gennaio 2038 alle 03:14:08 GMT tutti i computer che utilizzano ancora Unix Time a 32 bit andranno in overflow. Questo è noto come il “problema dell’anno 2038”.
Alcuni credono che questo sarà un problema più significativo della data 2000. La soluzione per il problema dell’anno 2038 è memorizzare Unix Time in un intero a 64 bit. Questo è già in corso nella maggior parte dei sistemi operativi a 64 bit, ma molti sistemi potrebbero non essere aggiornati per il 2038.
Una situazione simile al “problema dell’anno 2038”, è stata osservata con il video musicale Gangnam Style di Psy caricato su YouTube, che in precedenza utilizzava un valore a 32 bit per tenere traccia del numero di visualizzazioni per un video. Quel video ha raccolto così tante visualizzazioni che ha superato la soglia dei 32 bit.
Da allora YouTube ha iniziato ad utilizzare un valore a 64 bit per tenere traccia del numero di visualizzazioni per i suoi video, affermando che non si aspettavano che il numero di visualizzazioni per un video attraversasse il valore a 32 bit.
L’epoch UNIX è relativa a unix, ma molti altri sistemi hanno le loro epoch date. Epoch Time nel mondo reale inizia alle 00:00:00 UTC, dove UTC sta per Coordinated Universal Time. Ma Apple macOS considera Epoch Time a partire dal 1 gennaio 1904, mentre Microsoft Windows considera Epoch Time a partire dal 1 gennaio 1601.
Ti è piaciuto questo articolo? Ne stiamo discutendo nella nostra Community su LinkedIn, Facebook e Instagram. Seguici anche su Google News, per ricevere aggiornamenti quotidiani sulla sicurezza informatica o Scrivici se desideri segnalarci notizie, approfondimenti o contributi da pubblicare.

InnovazioneL’evoluzione dell’Intelligenza Artificiale ha superato una nuova, inquietante frontiera. Se fino a ieri parlavamo di algoritmi confinati dietro uno schermo, oggi ci troviamo di fronte al concetto di “Meatspace Layer”: un’infrastruttura dove le macchine non…
CybercrimeNegli ultimi anni, la sicurezza delle reti ha affrontato minacce sempre più sofisticate, capaci di aggirare le difese tradizionali e di penetrare negli strati più profondi delle infrastrutture. Un’analisi recente ha portato alla luce uno…
VulnerabilitàNegli ultimi tempi, la piattaforma di automazione n8n sta affrontando una serie crescente di bug di sicurezza. n8n è una piattaforma di automazione che trasforma task complessi in operazioni semplici e veloci. Con pochi click…
InnovazioneArticolo scritto con la collaborazione di Giovanni Pollola. Per anni, “IA a bordo dei satelliti” serviva soprattutto a “ripulire” i dati: meno rumore nelle immagini e nei dati acquisiti attraverso i vari payload multisensoriali, meno…
Cyber ItaliaNegli ultimi giorni è stato segnalato un preoccupante aumento di truffe diffuse tramite WhatsApp dal CERT-AGID. I messaggi arrivano apparentemente da contatti conosciuti e richiedono urgentemente denaro, spesso per emergenze come spese mediche improvvise. La…