Leniwa poprawka 20 lat temu oznacza, że błąd roku 2000 powoduje teraz wyłączenie komputerów
Autor: Chris Stokel-Walker
Liczniki parkingowe, kasy fiskalne i profesjonalna gra wideo o wrestlingu spowodowały usterkę komputera związaną z błędem Y2K.
Błąd Y2020, który spowodował odłączenie wielu systemów płatniczych i komputerowych , jest długo utrzymującym się efektem ubocznym prób naprawienia błędu roku 2000, czyli milenijnego błędu.
Oba wynikają ze sposobu, w jaki komputery przechowują daty. Wiele starszych systemów podaje lata używając dwóch liczb – na przykład 98 dla 1998 – w celu zaoszczędzenia pamięci. Błąd roku 2000 był obawą, że komputery będą traktować 00 jako 1900, a nie 2000.
Reklama
Programiści chcą uniknąć błędu roku 2000 miał dwie szerokie możliwości: całkowicie przepisać kod lub zastosować szybką poprawkę zwaną „okienkiem”, która traktuje wszystkie daty od 00 do 20, jak z 2000 roku, a nie z 1900. Szacuje się, że 80% komputery naprawione w 1999 roku korzystały z szybszej i tańszej opcji.
„Okienkowanie, nawet w roku 2000, było najgorszym z możliwych rozwiązań, ponieważ rozwiało problem” – mówi Dylan Mulvin z London School of Ekonomia.
Przeczytaj więcej: Binarny babel: Naprawianie błędów w kodowaniu komputerów
Koders wybrał okres 1920-2020 jako standardowe okno ze względu na znaczenie punktu środkowego, 1970. „Wiele języków programowania i systemów obsługuje daty i godziny jako sekundy od 1970/01/01, zwane także czasem uniksowym” – mówi Tatsuhiko Miyagawa, inżynier w firmie Fastly, dostawcy platform chmurowych.
Unix jest szeroko stosowanym systemem operacyjnym w różnych branżach, a ten „czas epoki” jest postrzegany jako standard.
Teoria była taka, że te systemy okienkowe byłyby przestarzałe do czasu 2020 r., ale wiele z nich wciąż się trzymam, aw niektórych przypadkach o problemie zapomniano.
„Naprawianie błędów w starych starszych systemach to koszmar: to spaghetti i nikt, kto je napisał, wciąż jest w pobliżu”, mówi Paul Lomax, który zajmował się błędem Y2K dla Vodafone. „Najwyraźniej założyli, że ich systemy już dawno przestaną być używane do 2020 r. Tak jak ci w latach 60. nie sądzili, że ich kod będzie nadal dostępny w 2000 r.”
Te systemy, które korzystały z szybkiego Naprawiono już koniec tego okresu i cofnięto do 1920 r. Rachunki przedsiębiorstw użyteczności publicznej zostały podobno wystawione z błędną datą 1920, podczas gdy dziesiątki tysięcy parkomatów w Nowym Jorku odrzuciły transakcje kartami kredytowymi z powodu daty usterka.
Przeczytaj więcej: Jak błędy techniczne mogą zabijać tysiące ludzi w naszych szpitalach
Tysiące kas fiskalnych wyprodukowanych przez polską firmę Novitus nie było w stanie wydrukować wpływy z powodu usterki zegara rejestru. Firma próbuje naprawić maszyny.
WWE 2K20, profesjonalna gra wideo o wrestlingu, również przestała działać o północy 1 stycznia 2020 r. W ciągu 24 godzin twórcy gry, firma 2K, wydali poprawkę do pobrania.
Kolejny program, Splunk, który ironica lly szuka błędów w systemach komputerowych, okazało się, że jest podatny na błąd Y2020 w listopadzie. Firma wprowadziła poprawkę dla użytkowników w tym samym tygodniu – w tym 92 z listy Fortune 100, 100 najlepszych firm w USA.
Niektóre usterki sprzętu i oprogramowania zostały nieprawidłowo przypisane do błędu. Jeden z pracowników służby zdrowia stwierdził, że Y2020 trafił w system opracowany przez firmę McKesson, która produkuje oprogramowanie dla szpitali. Rzecznik McKessona powiedział New Scientist, że firma nie wiedziała o żadnej awarii związanej z rokiem 2020.
Dokładny czas trwania tych poprawek na rok 2020 jest nieznany, ponieważ firmy nie ujawniły szczegółów na ich temat. Jeśli okno zostało po prostu ponownie cofnięte, możemy spodziewać się pojawienia się tego samego błędu.
W roku 2038 pojawia się również inny problem z przechowywaniem dat. Problem ponownie wynika z epoki Uniksa: dane są przechowywane jako 32-bitowe liczby całkowite, których pojemność wyczerpie się o godzinie 3.14 w dniu 19 stycznia 2038 roku.
Więcej na te tematy:
- informatyka