Dėl atmestinai prieš 20 metų atliktų Y2K pataisų dabar genda kompiuteriai: kodėl 2020 metais sugedo daugybė sistemų ir kodėl „šių klaidų taisymas yra košmaras” (1)
Nuo klaidų, susijusių su Y2K problema, nukentėjo stovėjimo automatai, kasos aparatai ir profesionalių imtynių vaizdo žaidimas.
Visi šio ciklo įrašai |
|
Prisijunk prie technologijos.lt komandos!
Laisvas grafikas, uždarbis, daug įdomių veiklų. Patirtis nebūtina, reikia tik entuziazmo.
Sudomino? Užpildyk šią anketą!
Y2020 klaida, sutrikdžiusi daug mokėjimo ir kompiuterinių sistemų veikimą yra ilgai snaudęs bandymo pataisyti Y2K problemą, pasekmė.
Abiejų problemų kilmė – būdas, kaip kompiuteriai saugo datas. Daug senesnių sistemų metus išreiškia dviem skaičiais – pavyzdžiui, 1998 saugoti kaip 98. Taip siekta sutaupyti naudojamą atmintį. Buvo baiminamasi, kad atėjus 2000-iesiems, kompiuteriai datą 00 interpretuos kaip 1900.
Norintiems Y2K problemos išvengti programuotojams reikėjo rinktis iš dviejų galimybių: perrašyti visą kodą iš naujo, arba pritaikyti greitą pataisą, vadinamąjį „windowing” [laikotarpiavimą], kai visos datos nuo 00 iki 20 būtų traktuojamos, kaip einančios po 2000, o ne nuo 1900. Manoma, kad apie 80 procentų kompiuterių, pataisytų 1999 metais, buvo naudojamas šis, greitesnis ir pigesnis būdas.
„Šis būdas netgi Y2K buvo blogiausias iš galimų sprendimų, nes tiesiog nustūmė problemą į ateitį,” sako Dylan Mulvin iš Londono ekonomikos mokyklos.
Programuotojai pasirinko laikotarpį nuo 1920 iki 2020 kaip standartinį periodą dėl jo vidurio svarbos, 1970. „Daugelyje programavimo kalbų ir sistemų datos ir laikai tvarkomi kaip sekundžių skaičius nuo 1970-01-01, vadinamojo Unix laiko,” sako Tatsuhiko Miyagawa, debesų kompiuterijos platformos Fastly inžinierius.
Unix OS plačiai naudojamos įvairiausiose pramonės šakose ir šis „epochos laikas“ laikomas standartu.
Buvo manoma, kad sistemos, kuriose pritaikytas laikotarpiavimas, iki 2020 bus jau pasenusios ir pakeistos, bet daugelis vis dar tebeveikia ir kai kada apie šią problemą buvo užmiršta.
„Senų sistemų klaidų taisymas yra košmaras: tai yra kodo spagetis, kurį rašiusiųjų jau nėra,” sako Paul Lomax, tvarkęs Y2K problemą Vodafone kompanijai. „Jie manė, kad jų sistemos 2020 metais bus seniausiai nebenaudojamos. Iš esmės taip pat, kaip ir praėjusio amžiaus septintojo dešimtmečio programuotojai nemanė, kad jų kodas tebebus naudojamas 2000-aisiais.”
Sistemos, kuriose panaudota ši greita pataisa, pasiekė nustatyto laikotarpio pabaigą ir grįžo į 1920. Pranešama, kad sąskaitose buvo nurodyta klaidinga 1920 metų data, o dėl klaidingai interpretuojamos datos dešimtys tūkstančių stovėjimo automatų Niujorke nepriėmė kreditinių kortelių.
Tūkstančiai Lenkijos kompanijos Novitus kasos aparatų dėl vidinio laikrodžio klaidų negalėjo išspausdinti čekių. Kompanija stengiasi mašinas pataisyti.
WWE 2K20, profesionalių imtynių vaizdo žaidimas, irgi nustojo veikti 2020 sausio 1-osios vidurnaktį. Per 24 valandas žaidimo kūrėjai, 2K, išleido pataisą, kurią buvo galima parsisiųsti.
Kita programa, Splunk, kuri, kaip bebūtų ironiška, ieško klaidų kompiuterių sistemose, lapkritį pasirodė esanti pažeidžiama Y2020 klaidos. Tą pačią savaitę kompanija išsiuntė pataisą vartotojams, tarp kurių 92 iš didžiausių JAV kompanijų sąrašo Fortune 100.
Kai kurie techninės ir programinės įrangos sutrikimai šiai klaidai buvo priskirti nepagrįstai. Vienas sveikatos priežiūros profesionalas teigė, kad Y2020 klaida paveikė ligoninių įrangą gaminančios kompanijos McKesson sukurtą sistemą. McKesson atstovas sakė New Scientist, kad firmai apie jokius su Y2020 problema susijusius sutrikimus pranešta nebuvo.
Kiek šie Y2020 pataisymai laikys, – nežinia, kadangi kompanijos nepateikė detalių apie jas. Jei vėl buvo tiesiog paslinktas laiko langas, galima tikėtis tos pačios klaidos pasikartojimo.
Kita su datos laikymu susijusi problema kils 2038 metais. Jos priežastis – Unix epochos laiko: šiuo formatu data laikoma kaip 32 bitų sveikasis skaičius, kurio perpildymas įvyks 2038 metų sausio 19 dieną 3:14:7 UTC.
Chris Stokel-Walker
www.newscientist.com