Linux 5.6: il primo kernel 32bit a sopravvivere al 2038

2

Questa notizia risulta interessante per tutti quelli che cercano un esempio pratico del termine “lungimiranza“.

Per smettere di pensare al 2038 come ad un futuro molto prossimo potremmo vederlo sotto quest’ottica: attualmente è più vicino il 2038 rispetto a quanto lo è l’anno 2000. E questo dovrebbe far tremare i sistemisti, o almeno quelli che sperano di tenere in funzione a tempo indefinito il loro sistema a 32 bit.

Già perchè il 19 Gennaio 2038, in piena notte, avverrà quello che viene chiamato “Y2038” bug o “Unix Y2K” bug. Per chi (come il sottoscritto) ha vissuto i tempi del Y2K, il bug che allo scattare degli anni 2000 avrebbe messo in ginocchio i sistemi informatici del pianeta, potrebbe essere il solito spauracchio, ma in realtà quello che avverrà sembra essere un pochino più critico.

Almeno per i sistemi a 32 bit. A causa di come si è deciso (oramai da decenni) che essi debbano salvare l’orario, ovvero in un intero a 32 bit contenente il numero di secondi dal 1 Gennaio 1970 ad adesso. Quello che succederà in quella data è che semplicemente si finiranno i bit a disposizione per il calcolo, ed un incremento di questo valore vedrà l’orologio passare dalle 03:14:07 del 19 Gennaio 2038 direttamente alle 20:45:52 del 13 Dicembre 1901.

Il problema è ben mostrato da questi gif reperibile su Wikipedia:

Ma stavamo parlando di lungimiranza, giusto? Beh si può certamente dire che Arnd Bergmann, sviluppatore del kernel Linux è stato lungimirante quando, all’uscita del kernel 5.5 di qualche giorno fa ha proposto una soluzione per permettere al kernel Linux 32 bit di gestire la cosa.

La faccenda è stata presa in considerazione e, insieme a molte altre novità, il nuovo kernel Linux 5.6 conterrà la fix presentata dallo stesso Bergmann e che risolverà il problema.

E questo, per l’esattezza, ci fa portare a casa un primato: Linux è il primo kernel a 32 bit ad includere una soluzione al problema dell’anno 2038!

Pericolo scampato, dunque, e per una volta possiamo non chiudere con “aggiornate, aggiornate, aggiornate”. Quello è sempre valido, ma l’importante sarà assicurarsi di avere un kernel superiore o uguale al 5.6 tra 18 anni per dormire sogni tranquilli.

La domanda però sorge spontanea: quanti sistemi a 32 bit sopravviveranno a -quasi- un altro ventennio?

Utente Linux/Unix da più di 20 anni, cerco sempre di condividere il mio know-how; occasionalmente, litigo con lo sviluppatore di Postfix e risolvo piccoli bug in GNOME. Adoro tutto ciò che può essere automatizzato e reso dinamico, l’HA e l’universo container. Autore dal 2011, provo a condividere quei piccoli tips&tricks che migliorano il lavoro e la giornata.