32 220 35 21 biuro@omegasoft.pl


Czy pamiętasz emocje, jakie budziło wejście w nowe tysiąclecie? Trudno uwierzyć, że od tej chwili minęło już 20 lat. Huczne obchody wyjątkowego sylwestra były jednak podszyte strachem o usterki związane z branżą IT. Komputery miały oszaleć, obawiano się utraty danych, awarii elektrowni jądrowych, a nawet wypadków lotniczych. Winowajcą była milenijna pluskwa, zwana również milenijnym robakiem (w wersji angielskiej millenium bug lub Y2K problem). Czy rzeczywiście było się czego bać?

Skąd wziął się problem?

Milenijny robak, wbrew swojej nazwie, nie był wirusem ani trojanem stworzonym przez szalonego hakera, planującego apokaliptyczną wizję światowego armagedonu. Jego geneza jest o wiele bardziej prozaiczna – stanowił wynik niedopatrzenia twórców pierwszych komputerów.

W największym skrócie – chodziło o zapis daty. Gdy informatyka była w powijakach, pierwszym nośnikiem danych były tzw. karty perforowane. Nie miały zbyt dużej pojemności – kodowały zwykle do 80 znaków, co odpowiada używanym dziś 80 bajtom. Nic dziwnego więc, że próbowano stosować różne triki, aby upchnąć jak najwięcej danych na pojedynczej karcie. Jednym z nich było zaoszczędzanie miejsca na rok, który zapisywano za pomocą dwóch znaków, zamiast czterech – np. 28 zamiast 1928, 35 zamiast 1935 itd.

Problem Y2K zauważono stosunkowo wcześnie, bo już w 1958 roku. Bob Bemer odkrył go podczas pracy nad programem do kreślenia drzewa genealogicznego i przez kolejne dwadzieścia lat starał się zwrócić na niego uwagę firm komputerowych – bez skutku. Gdy karty perforowane zastąpiono dyskami twardymi, nadal walczono o każdy bit danych, wykorzystując również skrócony zapis daty.

Choć nowe sprzęty nie potrzebowały takiej oszczędności miejsca, dwucyfrowy format danych zachowano dla kompatybilności nowych programów ze starszymi wersjami. Kwestię roku 2000 ignorowano aż do lat 90. I kiedy w końcu programiści uświadomili sobie zakres problemu, rozpoczęło się prognozowanie konsekwencji i nakręcanie medialnej spirali strachu.

Czego baliśmy się pod koniec 1999 roku?

Skrócony zapis daty miał jedną zasadniczą wadę – nie przewidywał nadejścia roku 2000. Komputery bez problemu z odróżniały np. rok 1954 od 1976, jednak rok 2000 i 1900 był kodowany w ten sam sposób – jako “00”, co niosło za sobą ryzyko błędów systemowych i problemów z działaniem sprzętu.

Obecnie, jesteśmy przyzwyczajeni do automatycznych aktualizacji wszystkich programów, jakie posiadamy na komputerze. W przypadku pluskwy milenijnej nie było takiej możliwości – każdy system z dwucyfrowym zapisem należało ręcznie zmodyfikować.Niosło to ryzyko komplikacji i problemów z działaniem niemożliwych do przetestowania wcześniej.

Jakich konsekwencji obawiano się najbardziej?

  • Problemy z bankowością

Klienci banków obawiali się, że w wyniku błędów stracą swoje oszczędności. Dlaczego? Przyjmijmy, że urodziłeś się w 1970 roku. W 1999 bankowy komputer oblicza więc Twoje lata, odejmując 70 od 99. Jednak już w 2000 roku komputerowe obliczenia dają nam wynik -70, co oznacza, że nie powinieneś istnieć, a w konsekwencji – nie powinien też istnieć Twój rachunek bankowy. Nic więc dziwnego, że w obawie przed milenijną pluskwą wielu ludzi wypłacało swoje środki z konta.

  • Problemy z dostępem do wody i prądu

To właśnie komputery sterują większością wodociągów i elektrowni. Brano więc pod uwagę, że w wyniku błędu po zmianie daty urządzenia przestaną działać, co skończy się przerwami w dostępie do prądu i wody.

  • Awarie elektrowni jądrowych

Historia Czarnobyla pokazuje, że do tragedii wystarczy jeden błąd i niepomyślny ciąg zdarzeń… Takiej historii obawiano się również w przypadku problemu roku 2000.

  • Problemy na lotniskach

Potencjalne kłopoty na lotniskach zniechęcały do podróżowania w milenijną noc sylwestrową. Brano pod uwagę możliwość utrudnień informacyjnych, jednak pojawiały się również bardziej apokaliptyczne wizje uszkodzonych systemów i spadających samolotów.

  • Trwałe uszkodzenia domowego sprzętu

Błąd wynikający ze zmiany daty miał być groźny również dla prywatnych komputerów. Firmy szybko zauważyły okazję zarobku – oferowano oprogramowanie kompatybilne z rokiem 2000, usługę testowania zgodności programów z nową datą, a nawet całe komputery i inny sprzęt odporny na milenijną pluskwę.

Choć dziś robak milenijny wydaje się być błahostką, a strach z nim związany znacznie wyolbrzymiony, problem roku 2000 był realnym zagrożeniem. Na szczęście, świadomość istnienia zagrożenia została odpowiednio wcześnie zauważona i wyeliminowana. Temat został jednak pochwycony przez media, które wróżyły globalną katastrofę i podsycały atmosferę strachu.

Noc sylwestrowa 31 grudnia 1999 roku była dla wielu dniem pracy, a nie noworocznej zabawy. W wielu miejscach powołano nawet sztaby kryzysowe, np. w Stanach Zjednoczonych.

Czy faktycznie było się czego bać?

Apokalipsa, którą straszono, nie nastąpiła. Pojawiło się jednak kilka przypadków, które uświadamiają, jak duże mogły być konsekwencje milenijnej pluskwy, gdyby nie zajęto się rozwiązywaniem problemu odpowiednio wcześniej.

Alarm faktycznie rozbrzmiał dwie minuty po północy w japońskiej elektrowni jądrowej w Onagawie, jednak nie wiązał się z żadnymi usterkami – strachu najedli się tylko pracownicy. Inna elektrownia atomowa – w Ishikawie – doświadczyła awarii oprogramowania monitorującego poziom radiacji, nie przyniosła ona jednak znaczących konsekwencji.

Pojawiły się też problemy komunikacyjne – awarie automatów biletowych, hazardowych, a także wyświetlanie złej daty (1900 lub 19100 zamiast 2000). Chwilowo przestała też działać Pakistańska giełda.

Nie obyło się jednak bez poważniejszych skutków. Błąd systemu sprawił, że 154 brytyjki otrzymały nieprawidłowe wyniki badań prenatalnych (wskazujące na wady płodu), co doprowadziło do dwóch aborcji zdrowych dzieci.

W 2038 czeka nas powtórka?

Już za 18 lat grozi nam ponowny paraliż systemów. Problem roku 2038 wynika ze sposobu zliczania czasu stosowanego w systemach unixowych i programach stosujących taki sam sposób zapisu czasu. Na czym dokładniej polega?

Unix zapisuje czas w postaci 32-bitowej zmiennej, zawierającej liczbę sekund od 1 stycznia 1970. Maksymalna liczba sekund wynosi w tym przypadku 2 147 483 647, co daje datę 19 stycznia 2038. W konsekwencji może się stać to samo, co przepowiadano w 1999 roku – czas cofnie się o 100 lat.

Rozwiązaniem jest przejście na zapis daty w formacie 64-bitowym. Co prawda również w wypadku tego zapisu pojawi się analogiczny problem, jednak dopiero za około 292 miliardy lat.