Komputery przewidziały koniec świata: 19 stycznia 2038 r. czas przestanie istnieć
Pomiar czasu w systemach komputerowych na całym świecie nie jest nieskończony. W styczniu 2038 r. osiągnie on swoje granice, podobnie jak woda, która osiąga brzeg szklanki. Czy to oznacza, że komputery przewidują koniec świata?
A może to tylko drobna usterka techniczna? Apokaliptyczne wydarzenia są często przepowiadane przez mistyków, wróżbitów, astrologów, a czasami także naukowców, ale teraz wydaje się, że komputery samodzielnie, bez udziału człowieka, przewidują takie wydarzenie. Oczekiwana epokalipsa została już uznana za porażkę. Ale co to znaczy, że czas się kończy?
Kiedy wychodzisz z pracy i wyłączasz komputer (czynność, którą wielu pomija, co prowadzi do niepotrzebnego zużycia energii), wchodzisz w rutynę. Rano ponownie uruchamiasz samochód i nie jest zaskoczeniem, że zegar pokazuje właściwą godzinę. Jednak ta koncepcja czasu maszynowego zakończy się 19 stycznia 2038 r. o godz. 3:14:07. Nie dotyczy to tylko komputera; jest to zjawisko uniwersalne. Czas, jaki znamy, nie będzie można od tego momentu kupić, wziąć ani pożyczyć. Nie wydaje się, aby miało to coś wspólnego z mistycyzmem. W każdym urządzeniu, niezależnie od systemu operacyjnego – Windows lub iOS, komputer stacjonarny, laptop lub smartfon – znajduje się system, mały chip, który odlicza sekundy. Toczy się dzień i noc, o każdej porze roku, zasilany baterią. Może synchronizować się z siecią, aby uzyskać prawidłowy czas (jak telefony) lub działać w trybie offline (jak starsze komputery). Ale ostatecznie to wszystko nie ma znaczenia.
Naprawdę liczy się tylko jedno: wszystkie zegary komputerowe na całym świecie odliczają sekundy od 1 stycznia 1970 roku. Nie jest tak, że po zakupie nowego laptopa wewnętrzny licznik zaczyna od początku. Niezależnie od tego, czy jest to nowe, czy stare urządzenie, odliczanie rozpoczyna się wszędzie od tej historycznej daty.
Komputery przekształcają sekundy na lata, miesiące, tygodnie i dni i wyświetlają datę w formacie zrozumiałym dla nas. Jednak wewnętrznie liczą one tylko sekundy. Na przykład, jeśli Twój samochód został wyprodukowany wczoraj, oblicza on aktualną datę na podstawie sekund, które upłynęły od zaprogramowanego punktu startowego.
Ten wewnętrzny zegar jest ograniczony do 32 bitów i może zatem odliczać do około 2,15 miliarda sekund (dokładnie 2 147 483 647). Co ciekawe, 9 września 2001 r. minęła miliarda sekund od 1 stycznia 1970 r., ale ten kamień milowy pozostał w dużej mierze niezauważony. Przyszłe zachowanie komputerów po osiągnięciu tego limitu jest niepewne. Niektórzy spekulują, że mogą one wyświetlić datę 13 grudnia 1901 r., czyli ponad dwa miliardy sekund przed 1 stycznia 1970 r. Jest to jednak czysta spekulacja. Bardziej prawdopodobne jest, że wyświetlą one po prostu ekran błędu.
Czy już przez to przeszliśmy?
Być może nie powinniśmy się zbytnio niepokoić. W końcu słynny problem roku 2000, z którego dziś często się żartuje, zakończył się pomyślnie. Wtedy nie było miejsca na humor. Często twierdzi się, że informatycy wymyślili ten kryzys, aby wyciągnąć pieniądze z kieszeni przedsiębiorstw. Nie jest to jednak prawda. Protokoły komputerowe z lat 70. (przed erą komputerów osobistych, ale już wtedy były one wydajne, a programowanie zaawansowane) wymagały kodowania roku za pomocą dwóch ostatnich cyfr. Na przykład rok 1991 był kodowany jako „91”. Nie uwzględniono możliwości, że system ten może zawieść po roku 2000; wydawało się to zbyt odległe, problemem, który można było rozwiązać dopiero w przyszłości. Jednak wraz ze zbliżającym się nowym tysiącleciem konieczne było szybkie rozwiązanie. Koszty naprawy tego problemu wyniosły dla globalnych przedsiębiorstw aż 300 miliardów dolarów (według ówczesnego kursu wymiany).
Eksperci komputerowi przystąpili do przerabiania kodów. Zadanie było proste, ale monotonne. Aby oszczędzić cenną pamięć roboczą, dane były dotychczas zapisywane w formacie sześciocyfrowym (np. 20 sierpnia 1980 r. jako „0832080”), a nie w wymaganym formacie ośmiocyfrowym (jako „08201980”). Wyzwaniem było uzupełnienie brakujących dwóch cyfr we wszystkich systemach. 31 grudnia 1999 r. John Koskinen, przewodniczący amerykańskiej komisji ds. Y2K, wraz z dziennikarzami i komputerami poleciał do regionów, w których już nastał rok 2000. Pomimo drobnych incydentów, takich jak awaria ogrzewania w Korei Południowej (gdzie ogrzewanie było wówczas sterowane komputerowo), udało się uniknąć poważniejszych zakłóceń.
Problem roku 2000 był możliwy do opanowania; nie stanowił zagadki, ale jego rozwiązanie wymagało znacznego nakładu czasu. Wyzwanie roku 2038 jest jednak inne. Ponad dwie dekady temu rozwiązaniem było skorygowanie wartości liczbowych. Dzisiaj wymaga to zrozumienia i przeznaczenia czasu na inne zadania.
Ale czy naprawdę jest to powód do niepokoju? Zegar wiosny będzie nadal tykał. Czas jako zjawisko fizyczne pozostaje niezmienny. Nie nastąpi żadna osobliwość. W rzeczywistości jest to problem, a przyczyny są następujące:
Cały system wymaga transformacji
Termin „era Unix” odnosi się do czasu komputerowego. Unix to stara rodzina systemów operacyjnych opracowana na początku lat 70. przez Kena Thompsona i Dennisa Ritchiego w Bell Labs, której rdzeniem był 32-bitowy licznik. Problem pojawia się, gdy rozważa się przejście na 64 bity. Prosta kalkulacja pokazuje, że sekundy zegara 64-bitowego wystarczyłyby do śmierci cieplnej wszechświata (292 miliardy lat). Przejście nie jest jednak tak proste, jak wymiana 32-bitowego układu na 64-bitowy poprzez otwarcie tylnej obudowy komputera. Wiele kodów i ustawień opiera się na standardzie 32-bitowym. Nie jest to sytuacja z 1999 roku, kiedy problemy można było rozwiązać poprzez proste dodanie dwóch cyfr. Niemniej jednak na każdy problem istnieje rozwiązanie. Konieczne jest opracowanie nowych systemów operacyjnych, z zupełnie innym systemem Windows, innym iOS i innymi unikalnymi platformami. Należy wyprodukować nowy sprzęt, ponieważ nie wszystkie komputery fizycznie obsługują architekturę 64-bitową. Sprzęt ten musi zostać sprzedany lub dystrybuowany wśród miliardów potrzebujących ludzi na całym świecie. Programiści i administratorzy sieci muszą zostać przeszkoleni i otrzymać jasne instrukcje.
Wszystkie komputery na świecie muszą zostać zatrzymane w tym samym czasie, aby zapewnić lądowanie samolotów oraz spowolnienie ruchu statków i pociągów. Następnie należy usunąć wszystkie stare systemy, zainstalować nowe, uruchomić całą infrastrukturę i wznowić działalność, licząc się z ewentualnymi błędami. Czy jest to realistyczne? W dzisiejszym świecie wiadomo, że nie.
Zapytajmy gwiazdy
Jeśli posiadasz nowoczesny komputer, Twój system operacyjny prawdopodobnie obsługuje 64 bity. Jego licznik będzie nadal działał nawet po 2038 roku. Pozostaje jednak pytanie: czy będą wyświetlane lata i miesiące? Konwersja sekund na daty jest niezbędna. Informatycy uważają to za mało prawdopodobne. Pomimo systemu 64-bitowego, podstawowe obliczenia sekund na lata odbywają się w ramach 32-bitowym. Można to porównać do benzyny z dodatkami lub mleka o podwyższonej zawartości tłuszczu: liczby mogą wydawać się wyższe, ale zawartość pozostaje niezmieniona. Oczywiście jest to uproszczenie, więc eksperci, proszę oszczędzać kilobity.
Każdy problem ma rozwiązanie, również ten. Liczne systemy operacyjne opracowują i wdrażają rozwiązania hybrydowe, aby ominąć niezgodności między różnymi metodami. Zasada jest taka: coś jest lepsze niż nic.
Niektóre techniki zasługują na bliższe przyjrzenie się. Na przykład twórcy systemu operacyjnego OpenVMC przejęli zasady z astronomii. Czy wiesz, że astronomia już dawno temu stanęła przed podobnym problemem i go rozwiązała? Astronomowie często muszą obliczyć czas między dwiema datami, na przykład między 3 stycznia 675 r. a 13 września 2024 r. Każdy dzień, począwszy od odległej przeszłości (1 stycznia 4713 r. p.n.e.), otrzymuje kolejny numer. Numery te są zapisywane w tabeli, która obecnie ma formę cyfrową. Aby obliczyć różnicę czasu, wystarczy podać liczby odpowiadające obu datom i odjąć je od siebie. Rok 4713 p.n.e. był znaczący, ponieważ astronom Scaliger w XVI wieku zauważył, że w tym dniu zbiegły się trzy ważne cykle – 15, 19 i 28 lat – co ułatwiło obliczenia naukowe. Bez faktycznego liczenia Scaliger wykorzystał iloczyn tych cykli, aby określić datę juliańską dla każdego momentu przed rokiem 3267 n.e.
Twórcy uznali to podejście za genialne. Wybrali 17 listopada 1858 r., czyli 2 400 000 dzień juliański, jako punkt początkowy swojego systemu. Pomijając zera, mogli zmieścić dzień juliański w 32-bitowej przestrzeni obejmującej siedem stuleci, która pozostawiała jeszcze miejsce na godziny, minuty i sekundy. Po dostosowaniach system ten mógł liczyć sekundy do 31 sierpnia 31 086.
W zasadzie informatycy w 1970 roku powinni byli skonsultować się z astronomami. Podjęli ryzyko, a koszty tego hazardu osiągnęły obecnie astronomiczne rozmiary.
Czy NASA dysponuje nieujawnioną wiedzą?
A co, jeśli nasze racjonalne wyjaśnienia są całkowicie błędne? Co, jeśli komputery i urządzenia elektroniczne z jakiegoś powodu uznały rok 2038 za koniec czasu? Czy to możliwe, że wtedy czas przestanie istnieć? Czy wszystkie te wyjaśnienia są jedynie próbami racjonalizacji nieuniknionego wydarzenia?
Teorii spiskowych jest mnóstwo, a jedna z nich dotyczy roku 2038. Wyszukując hasło „koniec świata w 2038 roku”, otrzymujemy wiele wyników. Niektóre z nich sugerują nawet, że NASA przewidziała to apokaliptyczne wydarzenie. NASA przeprowadziła niedawno symulację, aby zbadać reakcję Ziemi na uderzenie asteroidy. Scenariusz przewidywał uderzenie dużej asteroidy 12 lipca 2038 roku. Ze względu na niejasną komunikację NASA w przeszłości, niektórzy obserwatorzy błędnie zinterpretowali to jako prognozę rzeczywistego uderzenia asteroidy w 2038 roku, co wymagało dalszych wyjaśnień ze strony NASA. Wywołało to spekulacje, że komputery, które odmawiają liczenia po określonej dacie, wykrywają coś znaczącego. A udział NASA zdawał się potwierdzać prognozę superkomputera, że w 2038 roku katastrofalne uderzenie asteroidy zapowiada koniec świata.
Ta teoria spiskowa jest jednak bezpodstawna. Rodzi jednak pytania: dlaczego NASA wybrała właśnie ten rok do swojej symulacji? Czy to czysty przypadek, czy też za problemem 2038 kryje się coś więcej niż tylko niebagatelne bity i sekundy?
Amon
www.strefa44.pl
www.strefa44.com.pl