Twarde wejście w rok 2000

Trzeba liczyć się z tym, że w poniedziałek rano, 3 stycznia 2000 r., włączenie komputerów w wielu krajowych firmach może okazać się niemożliwe. Już dzisiaj warto sprawdzić, czy używane komputery i zapisane na nich oprogramowanie wejdą w nowe tysiąclecie bez kłopotów. Porównaliśmy pięć popularnych programów do testowania odporności sprzętu PC na problem roku 2000.

Trzeba liczyć się z tym, że w poniedziałek rano, 3 stycznia 2000 r., włączenie komputerów w wielu krajowych firmach może okazać się niemożliwe. Już dzisiaj warto sprawdzić, czy używane komputery i zapisane na nich oprogramowanie wejdą w nowe tysiąclecie bez kłopotów. Porównaliśmy pięć popularnych programów do testowania odporności sprzętu PC na problem roku 2000.

W oczekiwaniu na nadejście nowego tysiąclecia zachodnia prasa serwuje czytelnikom opowieści o totalnej awarii, jaka 1 stycznia 2000 r. ogarnie cały świat. Przestaną działać bankomaty, stracą ważność karty kredytowe, drzwi uruchamiane kartami magnetycznymi będą zamknięte, a rachunki telefoniczne, kwoty spłat kredytów czy innych należności urosną do horrendalnych wielkości. Nastąpi zachwianie globalnej równowagi finansowej, a świat pogrąży się w chaosie.

O tym, czy te kasandryczne doniesienia są prawdziwe, przekonamy się już za 300 dni. Problem roku 2000 nie będzie w Polsce aż tak poważny, jak w wysoko rozwiniętych krajach świata, gdyż większość oprogramowania stosowanego w kraju opracowano w latach 90., kiedy już nie trzeba było oszczędzać na bajtach pamięci. Spóźniona komputeryzacja kraju na dobre rozpoczęła się w latach 80., kiedy to dominującym sprzętem stał się komputer klasy PC. Poważne kłopoty związane z występowaniem problemu roku 2000 na mainframe'ach zostaną nam więc oszczędzone.

Niebezpieczna oszczędność

We wczesnych latach 80. Motorola opracowała układ scalony zegara sprzętowego RTC (Real Time Clock) MC146818A, stosowanego w komputerach PC/AT. Układ ten powieliło wielu producentów, nie zwracając uwagi na to, że do zapisu roku użyto w nim tylko dwóch liczb (yy). W układzie wprawdzie przewidziano opcjonalnie użycie komórek pamięci, które zapełniały się w zależności od stulecia (cc), jednak wiele układów BIOS, które pobierają datę z RTC, nie korzystało z tej opcji.

Komputery PC przed uruchomieniem systemu operacyjnego wykonują program zapisany na stałe w układzie BIOS. Poza zainicjowaniem pracy dołączonych do komputera urządzeń peryferyjnych układ BIOS pobiera datę i czas z zegara RTC, zasilanego baterią. Większość układów BIOS do zapisu roku korzysta z czterech cyfr (np. 1999), lecz przy jego zmianie zmienia tylko dwa ostatnie miejsca (np. 99). W konsekwencji w większości komputerów PC zmiana czasu z 23:59:59 z datą 12/31/1999 o jedną sekundę zmienia rok zapisany w BIOS na 01/01/1900 zamiast na 01/01/2000.

Większość systemów BIOS będzie pracowała prawidłowo, pod warunkiem że data zostanie prawidłowo ustawiona na rok 2000 ręcznie lub przez system operacyjny. Lecz niektóre BIOS-y będą wymagały wprowadzania korekty przy każdym restarcie komputera.

Istnieją także komputery, w których BIOS (po uruchomieniu ich po roku 2000) cofa datę do pewnego, ustalonego przedziału np. 1980-1999. W innych modelach ustawienie roku zaczynającego się cyfrą 2 jest niemożliwe.

Niedawno stwierdzono tzw. efekt Croucha-Echlina (zwany także Time Dilation - TD). Polega on na odczytach przez BIOS niewłaściwych danych z CMOS RTC. Problem ujawni się dopiero po roku 2000, gdyż wówczas BIOS wykona inny (dłuższy) algorytm do skonstruowania prawidłowej daty. Skutki TD mogą być bardziej dotkliwe niż tylko przyjęcie niewłaściwej daty. W CMOS komputera mogą pojawić się fałszywe informacje o np. portach RS232 czy LPT komputera. Efekt ten dotyczy jedynie niewielkiej części komputerów z tzw. nie buforowanym BIOS-em (w tym także nowych konstrukcji z Pentium II). Według badań przeprowadzonych przez firmę GMT - aż 93% komputerów PC z procesorami klasy Pentium, wyprodukowanych przed rokiem 1997, nie spełnia warunków testów BIOS pod kątem Y2K. Od roku 1997 zanotowano wyraźną poprawę: w I kwartale 1997 r. niezgodne było 47% komputerów, w III kw. - zaledwie 29%.

Do testowania odporności sprzętu PC na problem roku 2000 należy używać programów sprawdzonych, gdyż niewiadomego pochodzenia mogą spowodować trwałe uszkodzenie aplikacji czy danych. Przed przystąpieniem do testów niezbędne jest sporządzenie kopii bezpieczeństwa zasobów komputera.

Porównaliśmy pięć popularnych programów do testowania odporności sprzętu PC na problem roku 2000. Ocenialiśmy: łatwość instalacji, interfejs użytkownika, prostotę użycia, funkcje testujące, rodzaj i jakość raportów oraz pliki pomocy. Najwyżej oceniono program BIOSTest 2.0, tarnowskiej firmy ZETA SA.