Zaprojektowany w 1969 r. Unix (oraz spokrewnione z nim rozwiązania jak Linux i język programowania C) wykorzystują 32-bitowy sposób zapisu daty. Urządzenia pracujące pod kontrolą tego systemu czas liczą od początku tzw. ery uniksa, czyli 1 stycznia 1970 r. Po upływie 2 147 483 647 sekund (stanie się tak 19 stycznia 2038 r.) wyczerpie się miejsce na kolejny zapis, a stan licznika wskaże wartość ujemną – będzie to data 13 grudnia 1901 r.
Nikt nie wie, jak wtedy zachowają się komputery i urządzenia, które pracują na Uniksie lub Linuksie używającym 32-bitowego czasu. Ponieważ zachowanie będzie niezdefiniowane a systemy te używane są do kontroli wielu krytycznych aspektów naszego życia, problemu nie można bagatelizować ani odkładać na później. — mówi Paweł Jakub Dawidek, dyrektor do spraw technicznych i oprogramowania w Wheel Systems.
Problem poważniejszy od pluskwy milenijnej
Mechanizm zapisywania czasu w 32-bitowej zmiennej grozi większym niebezpieczeństwem niż pluskwa milenijna na przełomie lat 1999 i 2000. Ze względu na niskie koszty implementacji oraz użytkowania zarówno Unix, jak i spokrewniony Linux są wykorzystywane przez wiele komputerów i urządzeń elektronicznych – częściej przez biznes niż przez konsumentów, choć to oni mogą zapłacić najwyższą cenę. Co więcej, wiele z tych urządzeń do dziś wykorzystuje 32-bitowe procesory, które ze względu na cenę i niższy pobór energii niż ich nowsze odpowiedniki mogą być stosowane w urządzeniach, które składać się będą na internet rzeczy.
Na Uniksie lub Linuksie często pracują m.in. urządzenia medyczne (np. rozruszniki serca), zainstalowane w samolotach systemy pokładowe, bankomaty, a nawet elektrownie atomowe.
64-bitowe rozwiązanie
Wyeliminowanie potencjalnego zagrożenia, jakie może wyniknąć z cofnięcia zegara wymaga przejścia na 64-bitowy zapis liczenia czasu. Dzięki temu licznik zostanie zresetowany dopiero za 292 mld lat. Procedura nie jest jednak prosta.
Nikt dokładnie nie wie, ile obiektów i urządzeń wykorzystuje obecnie 32-bitowy Unix lub Linux. Dlatego firmy muszą przeprowadzić audyt systemów operacyjnych, który może okazać się skomplikowany, bardzo czasochłonny (w przypadku braku dostępu do kodu źródłowego należy przepisać cały kod od zera), a do tego kosztowny.
Choćby z tego powodu czasu na uniknięcie globalnej awarii systemów w 2038 r. pozostało naprawdę mało – dodaje
Paweł Jakub Dawidek.
Problemy z czasem
Poza powszechnie znanym problemem pluskwy milenijnej, który spowodował dwucyfrowy system zapisu daty w wielu programach i komputerach, namiastką awarii, z jakimi możemy zetknąć się w 2038 r. jest m.in. problem z sekundą przestępną. Jest to dodatkowa sekunda dodawana w celu zsynchronizowania czasu uniwersalnego z czasem słonecznym na podstawie obserwacji astronomicznych. Stosowanie jej wynika z niedostatecznej dokładności, z jaką wyznaczono długość doby w latach 50. XX w. i zmian okresu obrotu Ziemi oraz wynikającej stąd długości sekundy. Jej dodawanie potrafi jednak zakłócić pracę komputerów. W 2012 r. sekunda przestępna spowodowała zaburzenie działania serwerów należących do Mozilli, fundacji odpowiedzialnej m.in. za przeglądarkę internetową Firefox i tych obsługujących popularne forum internetowe Reddit.