Twoja wyszukiwarka

BOGDAN MIŚ
Y2K SYMBOL NIEUCHRONNEJ KATASTROFY
Wiedza i Życie nr 9/1998
Artykuł pochodzi z "Wiedzy i Życia" nr 9/1998

JEŚLI NIE PODEJMIEMY NADZWYCZAJNYCH KROKÓW, NAJWIĘKSZA AWARIA W DOTYCHCZASOWEJ HISTORII INFORMATYKI ZACZNIE SIĘ NASZEJ CYWILIZACJI DAWAĆ WE ZNAKI Z KOŃCEM PRZYSZŁEGO ROKU, BY SWE APOGEUM OSIĄGNĄĆ W ROK PÓŹNIEJ...

Zawarte w tytule tego artykułu trzy znaki - Y2K - robią zawrotną karierę i opisany nimi w skrócie problem staje się znany coraz większej liczbie ludzi. Straszą ich przede wszystkim dziennikarze, ale twarze zawodowych informatyków stają się także z dnia na dzień poważniejsze...

Litera Y oznacza w nim słowo year; rok. K to greckie kilo, tysiąc; Y2K zatem to rok 2000. Rok kończący nasze stulecie, zwane przez niektórych entuzjastów "wiekiem komputerów". Faktycznie, dziś widać dokładnie, że skonstruowanie komputera i - ogólniej - wdrożenie techniki cyfrowej zmieniło oblicze świata bardziej chyba niż cokolwiek dotychczas. Spieszyliśmy się jednak my, ludzie. Wykazaliśmy się brakiem umiejętności przewidywania i brakiem wyobraźni. W pogoni za doraźną korzyścią zafundowaliśmy sobie wielkie niebezpieczeństwo.

Błędy, i to rozmaite, popełniło wielu. Po pierwsze - programiści: ci, którzy w ciągu mniej więcej ostatnich trzydziestu lat pisali instrukcje dla komputerów. Po drugie, projektanci systemów komputerowych. Oczywiście, nie wszysscy; błądzących okazało się jednak dostatecznie wielu, by powstał problem.

O CO CHODZI?

Z grubsza biorąc, problem jest taki. Ze względów oszczędnościowych wiele lat temu, kiedy jeszcze układy pamięci komputerowej były dosłownie na wagę złota i liczył się w nich każdy kawałek wolnego miejsca, przyjęto konwencję, że daty będzie się zapisywać w sposób skrócony. Postanowiono na przykład pisać tak: 89/07/12 zamiast 1989/07/12; po prostu zdecydowano opuszczać dwie pierwsze cyfry roku, określające stulecie. Nie wzięto pod uwagę (a może zrobiono to świadomie, obliczając, iż ten drobny wybieg pozwoli zaoszczędzić miliony dolarów; nie bez pewnych podstaw zakładano, iż sprzęt elektroniczny starzeje się moralnie tak szybko, że przed końcem naszego wieku w całości zostanie wymieniony na nowy, tym bardziej zaś oprogramowanie...), że konwencja ta oznacza, iż po roku 1999 (skrót: 99) nastąpi wprawdzie de facto rok 2000, ale jego skrót (naturalnie, 00) będzie dla komputera oznaczał rok już mu doskonale znany: 1900...

Jeśli zatem będziemy chcieli obliczyć, ile lat upłynęło od roku 1990 do roku 1999, komputer wykona działania 99-90 i odpowie poprawnie 9. Ale jeśli to samo pytanie będzie dotyczyło lat 2000 i 1990, odpowiedź będzie brzmiała 00-90, czyli -10. Minus dziesięć! Jeżeli jakiś bank (korzystając z systemu z tym błędem) będzie obliczać - powiedzmy - należne nam za te dziesięć lat odsetki, to nie tylko nic nie dopisze, ale musi od nas zażądać znacznej dopłaty! W towarzystwie ubezpieczeniowym może się okazać, że diabli wzięli wszystkie nasze zniżki itp., itd.

Dalej: poważne problemy wystąpią w wielu procesach obliczeniowych, wykorzystujących sortowanie dat. Rok 2000 nie dość, że zostanie pomylony z rokiem 1900, to znajdzie się bezsensownie na początku wielu tabel! Data 01/01/00, początek roku 2000 wedle nieszczęsnej komputerowej konwencji zapisu daty, pojawi się przed datą 31/12/99!

To nie koniec. Rok 2000 przez liczne komputery może nie zostać rozpoznany jako rok przestępny. Przypomnijmy, że w obowiązującym w zachodnim świecie kalendarzu1 rok jest przestępny, jeśli jego liczba dzieli się bez reszty przez cztery - pod dodatkowym warunkiem, że nie kończy się dwoma zerami, ale z wyjątkiem dla lat podzielnych przez 400; trochę to złożone, ale przykład powinien wyjaśnić istotę sprawy. Otóż więc rok 1900 nie był przestępny (ma dwa zera na końcu), natomiast 2000 - będzie (dzieli się przez 400). Oznacza to, że dla wielu komputerów w roku 2000 zginie jeden dzień, 29 lutego, bo przecież dla nich 00 to 1900, a nie 2000; jakie to spowoduje dodatkowe zamieszanie, łatwo sobie wyobrazić. Wystarczy pomyśleć o wypłatach pensji czy nieuniknionym kompletnym bałaganie z rozkładami lotów samolotów i jazdy pociągów...

Ale i to nie wszystko. Nieszczęsna konwencja notacji dat pozwoliła programistom - jak sądzili wówczas, bezpiecznie - wykorzystać do celów specjalnych pewne ciągi znaków, co nie mogło dziesiątki lat temu spowodować żadnego nieporozumienia, ale jest bardzo groźne dzisiaj. Otóż niekiedy zapis 99/9/9 oznacza dla maszyny nie datę, ale instrukcję lub jakiś sygnał - powiedzmy - polecenie "zachowaj tę informację na zawsze". Bywa że znaczy "zniszcz tę informację za 30 dni" albo "umieść te dane na górze tabeli przy sortowaniu", albo jeszcze coś innego, zależnie od fantazji programisty sprzed dziesięcioleci. Podobne znaczenia niesie niekiedy ciąg symboli 19/09/99. W związku z tym te dni - 9 września i 19 września 1999 roku - dla wielu komputerów "nie zaistnieją"...

To tylko najważniejsze aspekty złowieszczego "problemu Y2K". Jest jeszcze kilka drobniejszych, choć niekiedy też bardzo kłopotliwych: źle zaprojektowane ekrany niektórych programów, programy nieodporne na błąd, choć same go nie zawierające... Pomińmy jednak te szczegóły; przyjmijmy, że Czytelnik już wie, iż sprawa jest poważna.

Zwróćmy jednak uwagę na związane z nią niektóre nieporozumienia i próby bagatelizacji. Otóż błędny jest sąd, że jest to kłopot samych informatyków: ze zdobyczy nauk komputerowych korzysta dziś bez żadnego udziału i nadzoru ekspertów (i to jest właśnie siła tych rozwiązań!) tyle dziedzin życia i nauki, że problem dotyczy praktycznie wszystkich. Współczesny transport, nerw cywilizacji (zwłaszcza lotniczy, ale również kolejowy i samochodowy, a także żegluga), de facto bez informatyki nie może już spełniać swych zadań. Ale przecież podobnie jest z windami, klimatyzacją, instalacjami alarmowymi, telefonami i faksami...

Po drugie, nie jest to także wyłącznie kłopot dostawców sprzętu i oprogramowania; myślenie typu: "płacimy im, więc niech się tym zajmą", jest zwykłym chowaniem głowy w piasek. Po trzecie, uspokajające stwierdzenie, że Y2K dotyczy tylko starych (tj. dawno wyprodukowanych) systemów komputerowych, jest też w dużej mierze odległe od prawdy. Po czwarte, na manowce wiedzie także hasło "niechaj każdy myśli o sobie"; zdaniem ekspertów, działając w rozproszeniu, w żaden sposób nie damy sobie rady.

Po piąte wreszcie, nie uspokajajmy się, że "mamy jeszcze mnóstwo czasu". Praktyka wykazuje, że z każdych pięciu tzw. "dużych" problemów informatycznych (a Y2K jest bez wątpienia jednym z największych!) rozwiązywanie aż czterech kończy się znacznie po zaplanowanym terminie. Biorąc pod uwagę tę groźną statystykę, mamy 80% pewności, że jeśli zaczniemy robotę w Polsce dziś, to jej na czas nie ukończymy... A nadejścia roku 2000 nie da się odsunąć zarządzeniem administracyjnym.

PARADOKS ŁATWOŚCI TECHNICZNEJ

Mamy do czynienia z sytuacją niezwykłą. Z jednej bowiem strony, problem Y2K teoretycznie jest wręcz banalny i w zasadzie prosty do rozwiązania. Wystarczy "po prostu" przejrzeć i ewentualnie wymienić we wszystkich komputerach oraz korzystających z techniki cyfrowej urządzeniach te układy, które zostały zrobione zbyt dawno i mogą spowodować kłopoty, a także specjalnymi prostymi programami zdiagno-zować całe zainstalowane oprogramowanie. Gdyby to chodziło tylko o komputery, to godzina pracy na jedną maszynę wydaje się na to zbyt wiele. Wiele nowszych komputerów czy wyposażonych w najnowsze oprogramowanie (ale - powtórzmy - nie wszystkie, a skąd "zwykły" użytkownik ma wiedzieć, do której kategorii zaliczyć akurat swój?) nie będzie przy tym wcale wymagało tego sprawdzenia.

Z drugiej jednak strony - samych komputerów osobistych, które trzeba sprawdzić, są na świecie miliony i dziesiątki milionów. Problem zresztą nie dotyczy przecież tylko ich; z nimi nawet kłopot jest stosunkowo technicznie najmniejszy. Są jeszcze znacznie maszyny z punktu widzenia awarii Y2K groźniejsze, bo zarządzające wielkimi systemami banków, towarzystw ubezpieczeniowych, organów ścigania, armii - gigantyczne komputery stacjonarne klasy "mainframe" czy duże maszyny "uniksowe"; ich też problem dotyczy. Czyli potrzeba na to milionów czy dziesiątków milionów godzin pracy, za które choćby trzeba komuś zapłacić. Tę pracę trzeba fizycznie wykonać, a przede wszystkim zorganizować i dopilnować...

A ponadto te nieszczęsne urządzenia cyfrowe! Odpowiednie układy elektroniczne tkwią dosłownie wszędzie: mogą być w pralce, w samochodzie, w jakimkolwiek sterowniku. Doprawdy, trudno sobie nawet wyobrazić pomysłowość konstruktorów w tym względzie. Tego się po prostu nie da sprawdzić - w żaden sposób. Nie ma takiej możliwości.

CO ROBIĆ W TEJ SYTUACJI?

W jakiejś tam mierze - przypominam, nie da się fizycznie sprawdzić wszystkich urządzeń, wykorzystujących technikę cyfrową - katastrofa jest w jakimś zakresie nieunikniona; rzecz w tym tylko, by jej rozmiary ograniczyć do minimum. Zdaniem wielu specjalistów, jedna z najważniejszych kwestii to uświadomienie sobie rozmiaru zagrożenia. Ta świadomość musi być powszechna, ale szczególnie jest ona konieczna menedżerom wszelkich szczebli oraz podejmującym strategiczne decyzje politykom; problem Y2K jest bowiem przede wszystkim problemem zarządzania.

W każdej organizacji - od niewielkiej firmy do skali państwa i dalej, do organizacji ponadnarodowych - trzeba pilnie przyjąć kompleksowe programy działania i niezwłocznie powołać odpowiednie osoby odpowiedzialne za ich realizacje, zapewniając im możliwie szerokie kompetencje. Te osoby muszą być dobrane tylko i wyłącznie na ściśle przestrzeganej zasadzie fachowości; zastosowanie na przykład w skali państwa kryterium politycznego, tak ukochanego w pewnym kraju nad Wisłą, byłoby skrajną nieodpowiedzialnością albo wręcz zbrodniczą głupotą.

Trzeba przy tym bardzo uważać. Powiedzmy za fachowcami wyraźnie: sprawy nie da się w żaden sposób "zamrozić" do "samoczynnego" rozwiązania problemu. Nie da się jej także "powierzyć za odpowiednie pieniądze do rozwiązania fachowcom"; w każdym razie nie jest to możliwe, poczynając od pewnego stopnia złożoności organizacji. Nie ma sensu także podejście typu: "czy nam się to opłaca"; kto postawi sobie takie pytanie, jest niemal pewnym kandydatem do wypadnięcia z wszelkiej konkurencji i w rezultacie - bankructwa.

Na świecie przygotowania trwają już od dość dawna. Aby się o tym przekonać, wystarczy choćby zajrzeć do Internetu, gdzie z łatwością znajdziemy dziesiątki specjalnych witryn z instruktażem i najnowszymi informacjami z "frontu walki" (przykład: znakomicie opracowana i czytelna witryna słynnej firmy Microsoft czy liczne witryny prowadzone przez stowarzyszenia informatyczne Wielkiej Brytanii). Zresztą, aby nie być gołosłownym: oto rezultat wpisania do internetowego programu wyszukiwawczego AltaVista hasła Y2K i ograniczenia wyszukiwania do dokumentów w języku angielskim: 57 912 adresów (tak jest, ponad pięćdziesiąt tysięcy!). To samo wyszukiwanie, ograniczone do języka polskiego (patrz ilustracja), dało wynik... 13 (słownie, trzynaście), przy czym część z tych witryn to amatorskie produkcje indywidualnych hobbystów, część zaś to witryny komercyjne. Większość z nich nie daje zresztą żadnej wartościowej informacji.

Polscy informatycy i dziennikarze-specjaliści zaapelowali do władz państwowych o natychmiastowe zajęcie się sprawą Y2K. W chwili pisania tego artykułu minęło już od pierwszych apeli kilka tygodni; reakcja wezwanych była, jak do tej pory, dosłownie żadna.

Nie chcę być złym prorokiem, ale przypomina mi się historia wielkiej powodzi z 1997. Też byli eksperci, którzy ostrzegali. Tylko było ich wówczas mało. Wtedy skończyło się ogromną - choć lokalną - ludzką tragedią i paroma miliardami dolarów strat. Dziś wielkim głosem krzyczy całe środowisko in- formatyczne. Zagrożenie jest naprawdę większe od tego powodziowego.

I co z tego wyniknie tym razem? Nie jest rolą pisma popularnonaukowego o tym przypominać, ale... Czy szanowni decydenci biorą pod uwagę istnienie Trybunału Stanu?

1 Reguły obowiązującego aktualnie kalendarza ustalone zostały w 1582 roku przez papieża Grzegorza XIII. Określono wówczas m.in. nową zasadę wyznaczania roku przestępnego. Konieczność wprowadzenia lat przestępnych wynika z tego, że rok słoneczny, który w przybliżeniu trwa 365 dni, 5 godzin, 48 minut i 45.5 s, nie jest całkowitą wielokrotnością doby. Innymi słowy, czas obrotu Ziemi wokół Słońca nie jest całkowitą wielokrotnością czasu potrzebnego Ziemi do wykonania obrotu wokół własnej osi.