Blog IT, Blog Marketing

Cyfrowa apokalipsa z 18 na 19 stycznia 2038. Co się wtedy stanie?

Cyfrowa apokalipsa z 18 na 19 stycznia 2038. Co się wtedy stanie?

Aleksandra Golenia , 18.03.2024 r.

Z artykułu dowiesz się:

  • Co to jest problem roku 2038 i co on oznacza
  • Jakie są konsekwencje cyfrowej apokalipsy i kto ucierpi na niej najbardziej
  • Czy można zapobiec problemowi roku 2038
  • Co wspólnego ma bomba milenijna z problemem roku 2038
  • Dlaczego wciąż mamy kłopoty z czasem

Problem roku 2038 – o co właściwie chodzi?

Był rok 2000 i nic się nie stało, a przecież miało nas już tutaj nie być. A jednak jesteśmy i mamy się dobrze, więc pokonaliśmy koniec świata i triumfujemy. No właśnie, ale tym razem może nie być tak optymistycznie, chociaż niektórym może się wydawać, że już kolejny raz wyjdziemy z tej apokaliptycznej wizji bez szwanku. Chodzi o cyfrową apokalipsę, która ma nastąpić w noc z 18 na 19 stycznia 2038 roku. Mamy jeszcze (albo tylko) 14 lat. Po upływie tego czasu, komputery przestaną istnieć. Niemożliwe? A jednak jest na to dowód.

Za wszystkim stoi Unix, czyli system operacyjny, który wystartował w 1969 roku w Bell Labs. Jego twórcy Dennis Ritchie i Ken Thompson rozwijali go przez lata. Powstało wiele jego odmian i implementacji. Niektóre z nich do dzisiaj są w użyciu, jak Linux, BSD oraz macOS. No właśnie, to systemy operacyjne, które nie tylko są w użytku prywatnym, ale przede wszystkim znajdują swoje zastosowanie w ogromnych, technologicznych projektach. Wykorzystuje się je m.in. w systemach utrzymania ruchu czy zarządzania całym zapleczem informatycznym fabryki. Kiedy projektowano Unix, nikt chyba nie przypuszczał, że zyska on taką sławę i przez tak długi czas będzie nie tylko istniał, ale cieszył się on tak ogromnym zainteresowaniem. Twórcy nałożyli więc specjalne ograniczenie na sposób zliczania czasu. Początkowa data to oczywiście tak, która zapoczątkowała erę Unixa, czyli 1 stycznia 1970 rok, godzina 00:00:00 UTC. Od tego momentu czas zliczany jest przy pomocy sekund, a dane zapisuje się za pomocą 32-bitowej wartości. W praktyce oznacza to, że najwyższa możliwa do przyjęcia wartość to 2147483647. Według czasu Unixa nastąpi to dokładnie 19 stycznia 2038 roku o godzinie 3:14:07 UTC. Wtedy era cyfryzacji może się skończyć. Należy jednak wziąć pod uwagę, że dokładna godzina może się różnić w zależności od poszczególnych systemów bazujących na Unixie.

A dlaczego właściwie naukowcy wybrali 32-bitową zmienną, a nie 64-bitową, która odpowiada za szerszy zakres czasowy? Dobre pytanie, tym bardziej że wtedy cyfrowy wszechświat mógłby istnieć zdecydowanie dłużej. Nie myśleli perspektywicznie i trudno się im dziwić. Nie przypuszczali, że ta technologia będzie tak długo istnieć, co więcej – będzie postępować. Teraz raczej trudno jest nam sobie wyobrazić, że świat mógłby istnieć bez komputerów i systemów operacyjnych. Jak w ogóle byśmy egzystowali? Cofnęlibyśmy się o kilka dekad do tyłu, dla niektórych to jak prehistoria. Właśnie dlatego są tacy, którzy zakładają, ze po prostu nic się nie stanie i to tylko kolejna pluskwa milenijna, którą da się z powodzeniem odejść. Konsekwencje mogą być jednak poważne w skutkach.

Konsekwencje cyfrowej apokalipsy. Świat się kończy…

I co dalej…

Tak naprawdę to nikt nie jest w stanie tego racjonalnie wyjaśnić. Nie wiemy więc, co się stanie, kiedy zegar unixowy nagle wybije godzinę zero. Pewne jest jedno – więcej danych nie można zapisać, przynajmniej na chwilę obecną, ale może technologiczne krasnale już pracują w pocie czoła, jak nie dopuścić do takiej apokalipsy. Licznik się najprawdopodobniej wyzeruje i zobaczymy datę z początku ery Unixa. Może być też tak, że czas przeskoczy do maksymalnie ujemnej wartości i na ekranach wyświetli się godzina 0:45:52 13 grudnia 1901 roku. Ale chyba już mieliśmy do czynienia z podobną sytuacją, prawda?

Mała apokalipsa dotknęła YouTube, kiedy to klip Gangnam Style osiągnął ponad 2 miliardy wyświetleń. W ten sposób przekroczono wartość 32-bitową. Co się wtedy stało? Licznik się po prostu zepsuł, ale świat się nie skończył. Czy to uspokaja? Może trochę…

Konsekwencje mogą być jednak zdecydowanie poważniejsze niż tylko zepsuty licznik. To apokalipsa na większą skalę. Wyobraźmy sobie sytuację, kiedy w dobrze prosperującej fabryce większość działań jest zautomatyzowanych i wszystkim sterują komputery, oczywiście z systemem operacyjnym Unix. W pewnym momencie zegar przestaje działać. W laboratorium, w którym z ogromną precyzją mieszano poszczególne składniki, nagle zaczyna panować bałagan i już nic nie jest tak doskonałe. Podobna sytuacja będzie miała miejsce w ruchu kolejowym czy lotniczym. W jednym momencie przestają działać systemy naprowadzania samolotów i co gorsza – rakiet. Pozostaje wtedy chyba tylko zamknąć oczy. To może być chaos nie do ogarnięcia.

Aż trudno uwierzyć, że za taką katastrofą stoi system operacyjny, a właściwie jego twórcy. Chociaż fakt, nie można im przypisywać winy całego zła tego świata. Chcieli dobrze, ale nie przewidzieli kilku okoliczności, ponieważ zwyczajnie nie mogli. Koniec świata zapowiadają średnio kilka razy na 100 lat, więc zakładano po prostu, że Unix nie przetrwa do tego 2038 roku.

Czy jeszcze można coś zrobić?

Dobre pytanie, ponieważ niektórzy zamiast biernie czekać na kres Unixa i całego cyfrowego świata coś jednak robią. Najłatwiej jest po prostu przejść do zapisywania czasu za pomocą 64-bitowej wartości. Już niektóre nowocześniejsze komputery z niej korzystają. Wtedy apokaliptyczny problem powróciłby dopiero za 292 miliardy lat…a niech inni się wtedy martwią, my umywamy ręce. Wydaje się więc, że po problemie, ale na drodze staje coś jeszcze.

Czas, który będzie zapisywany w ten sposób, musi zrozumieć cały system. Jest szansa, że uda się to zrobić w przypadku zamkniętych systemów Apple i Android. Schody pojawiają się przy Linuxie, rzecz jest tutaj zdecydowanie bardziej skomplikowana. Chodzi o jego dystrybucję, a dystrybucje mają to do siebie, że wszystkie ich elementy dostarczane są oddzielnie. No i teraz meritum – aby wprowadzić 64-bitową reprezentację czasu, trzeba zgrać moment wprowadzenia zmian z innymi składnikami systemu. A zatem zmianę należy wprowadzić jednocześnie w Linuksie i dystrybucji, których są tysiące. To wydaje się być po prostu nie do zrobienia.

Trzeba wierzyć, że specjaliści jeszcze coś wymyślą i tak to po prostu się nie skończy. Nam pozostaje w perspektywie przyszłości przesiąść się z 32-bitowych na 64-bitowe systemy operacyjne, czyli np. Windows 7 lub 8. Lepiej chyba dmuchać na zimne.

Bomba milenijna przy błędzie systemu Unix to pestka

Możemy rzecz – już o tym kiedyś słyszałeś. Tak, co chwilę jest nowa teoria odnosząca się do apokalipsy. Tak było też w 2000 roku, kiedy to również systemy miały przestać działać, a tak się ostatecznie nie stało. Były jednak przypadki, kiedy coś poszło nie tak. Nie wszystkie systemy dobrze przygotowały się na to wydarzenie i na ich ekranach pojawiła się data 3 stycznia 1900 roku. Skończyło się tak naprawdę na strachu, który był zupełnie niepotrzebny. Rozwiązanie problemu bomby milenijnej nie było trudne. Wystarczyło, że zmieniono format zapisu daty i to by było na tyle, żadnych ofiar. Problem roku 2038 jest wyraźnie bardziej skomplikowany i tutaj nie wystarczy tak prosta operacja. Jedno jest pewne – ten błąd trzeba naprawiać, ponieważ jest duże ryzyko, że skończy się on dużą apokalipsą.

Może spróbujmy. Na swoich telefonach i laptopach ustawmy datę dalszą niż na rok 2038. Co się dzieje? Nie można? No niestety nie możemy pójść dalej, na tym nasz kalendarz się kończy. Tak, niektórym się to udaje, ponieważ mają 64-bitową wartość, inni mają 32-bitową i to ich ogranicza. Jeśli zaczniemy kombinować, to może to doprowadzić do problemów z działaniem systemu. Zdarza się, że czas cofa się do roku 1901 roku. To trochę tak, jak byśmy podróżowali w czasie.

Problem z czasem. Nie tylko Unix sobie z nim nie radzi

Czas potrafi przechytrzyć człowieka. Ciągle się słyszy o jakimś problemem z czasem. Ostatni taki wielki rozgłos miał miejsce w 2000 roku, ale udało się nad tym zapanować. W 2022 roku miała miejsce masowa awaria serwera pocztowego Microsoft Exchange. Wyraźnie nie dał rady nowej dacie. Często też możemy zauważyć, że kłopoty na tym polu ma PKP.

Liczniki się przekręcają, chyba czas za wszelką cenę chce nas przenieść do przeszłości. Jeśli chodzi o sytuację z Exchange, to problem polegał na wykorzystaniu zmiennej w formacie 32-bitowej (znowu) liczby całkowitej. Maksymalna jej wartość to 2 do potęgi 31, czyli 2147483647, licząc od zera. I teraz sedno – chcąc zapisać ją w postaci YYMMDDHHmm, wraz z początkiem roku 2022 licznik zacznie wskazywać 51-szy dzień 52-go miesiąca roku 2000 i godzinę 63:54. Coś zdecydowanie poszło nie tak.

Na tym podobnych incydentów nie koniec. Sytuacja powtarza się w przypadku systemu Nucleus RTOS. Nie potrafi on przekroczyć bariery daty 2030 roku. Protokół przekręca się do roku 2036. Ale właściwie dlaczego tak się dzieje? Głównie chodzi o przekonanie twórców systemów, że przecież do tego czasu nikt ich już nie będzie używał. Czyżby nie wierzyli oni w swoje dzieło? Po prostu zakładają, że zaraz będzie coś następnego i ich system wyjdzie z użytku. Tak po prostu jest w technologicznym świecie – on szybko postępuje. Jak się jednak okazuje, to co dobre, nie tak łatwo wygryźć z szeregów.

Czy Wy też z wypiekami na twarzy czekacie na rok 2038 i jesteście ciekawi, co się wtedy stanie? A może obawiacie się cyfrowej apokalipsy i wolelibyście uniknąć tej katastrofy, przespać ten czas i obudzić się już po wszystkim? My jednak pozostawimy oczy szeroko otwarte, mając przy tym nadzieje, że technologiczni wymiatacze coś jednak zrobią, aby uniknąć końca świata. Teraz wszystko w ich rękach. Już kilka razy im się udało. Teraz jednak przed nimi trudniejszy przeciwnik.

Najnowsze oferty pracy:

Polecane wpisy na blogu IT:

Szukasz pracownika IT?

Dostarczymy Ci najlepszych specjalistów z branży IT. Wyślij zapytanie

Wyrażam zgodę TeamQuest Sp. z o.o. na przetwarzanie moich danych osobowych w celu marketingu produktów i usług własnych TeamQuest, w tym na kontaktowanie się ze mną w formie połączenia telefonicznego lub środkami elektronicznymi.
Administratorem podanych przez Ciebie danych osobowych jest TeamQuest Sp. z o.o., z siedzibą w Warszawie (00-814), ul. Miedziana 3a/21, zwana dalej „Administratorem".
Jeśli masz jakiekolwiek pytania odnośnie przetwarzania przez nas Twoich danych, skontaktuj się z naszym Inspektorem Ochrony Danych (IOD). Do Twojej dyspozycji jest pod adresem e-mail: office@teamquest.pl.
W jakim celu i na jakiej podstawie będziemy wykorzystywać Twoje dane? Dowiedz się więcej