Žmonija jau 2038 metais gali susidurti su praeities problema: kokia ji?

1999 m. žmonės pradėjo panikuoti, kad kompiuteriai nesugebės tinkamai apdoroti naujojo amžiaus pradžios ir įvyks civilizacijos žlugimas. 2038 m. situacija gali pasikartoti.

Galbūt daugelis neprisimena, bet 1999 m. žmonės paniškai bijojo 2000-ųjų metų. Buvo baiminamasi, kad, pakeitus 99 į 00, kompiuteriai negalės suprasti, jog atėjo naujas amžius; data bus atstatyta į 1900 m., nuo kompiuterių priklausomos sistemos suges ir dėl to esą įvyks civilizacijos žlugimas.

Galiausiai, žinoma, Naujieji metai praėjo gana ramiai - daugiausia dėl masinių ir koordinuotų pastangų užkirsti kelią katastrofai, rašo IFL Science. 

Tačiau ši istorija turi tęsinį...

2038 m. sausio 19 d. - diena, kai laikas turi baigtis. 

Bent jau 32 bitų „Unix“ 32 bitų laiką naudojančių kompiuterių, kurių yra dauguma.

„Pasirašytame 32 bitų sveikame skaičiuje galima saugoti tik reikšmes nuo -2147483648 iki 2147483647“, - aiškina kibernetinio saugumo ir sistemų valdymo bendrovė ‚Tanium‘. 

Tai reiškia, kad didžiausia laiko žyma, kurią gali tvarkyti tokios sistemos, yra 2147483647, kuri atitinka 2038 m. sausio 19 d. 03:14:07 UTC.

Šie skaičiai ne atsitiktiniai- nors 2 147 483 648 gali atrodyti įprasti žmogaus akiai, bet kompiuteriui, dirbančiam dvejetų sistemoje, tai didelis krūvis, momentas, kai skaitiklis prisuks 100 000 000 000 000 000 000 000 000 000 000 000 000 000 000. 

32 bitų sistemai tai tiesiog per daug skaitmenų, todėl daroma vienintelis įmanomas veiksmas: 

iš naujo nustatomas skaitiklis.

„Laiko žyma“ persipildo ir tampa neigiama, todėl atsiranda datos ir laiko klaidų. 

Pavyzdžiui, 2038 m. sausio 20 d. 03:14:08 val. laiko žyma „Unix“ laiku yra 2147483648. 

Kadangi tai yra negaliojanti reikšmė, sistema ją iš naujo nustato į -2147483648, kuri atitinka 1901 m. gruodžio 13 d. 20:45:52 UTC. 

Tai ir yra 2038 m. problema“, - priduria bendrovė.

Po visos panikos, kilusios dėl šios problemos, norėtųsi tikėti, kad šį kartą žmonija viską sutvarkė. 

Juk apie 2038 m. klaidą buvo žinoma bent jau nuo 2006 m., kai panaši klaida paveikė AOL interneto serverį. 

Tiesą sakant, sprendimas gana paprastas ir akivaizdus: pereiti prie 64 bitų sistemų.

Naudojant 64 bitų sistemas yra pakankamai vietos saugoti laiko vertes milijardams metų į ateitį, net jei naudojamas labai tikslus (nanosekundžių) laikas.

Tačiau daugelis duomenų bazių, įskaitant reliacines ir NoSQL, vis dar naudoja 32 bitų laiką. 

Taip pat kyla pavojus programoms, parašytoms C kalbomis, pavyzdžiui, C++ ir PHP. 

Pažeidžiami „Windows“, „Linux“, „Android“ ir „iOS“ įrenginiai, taip pat medicinos prietaisai, elektrinėse ir transporte naudojamos pramoninės valdymo sistemos, automobiliai su įmontuotais kompiuteriais, maršrutizatoriai ir pan.

Apskritai pasekmės gali būti labai skaudžios.

„Sunku tiksliai pasakyti, kiek esame pasirengę. Naujos operacinės sistemos jau gauna 64 bitų laiko palaikymą, tačiau pagrindinė problema - esamos sistemos. 

Perėjimas nuo 32 bitų prie 64 bitų operacinių sistemų laiko reikšmių nėra toks paprastas“, - rašoma dokumente.

Paprastai tariant, staigus perėjimas prie 64 bitų laiko gali sukelti chaosą. Nors visos šiuolaikinės kompiuterių sistemos bus atnaujintos gerokai anksčiau nei 2038 m., pagrindinė problema išliks senosios programos, kurių niekas neatnaujina.

Net jei visos 32 bitų sistemos bus surastos ir atnaujintos, reikia numatyti ir ištirti antrinius tokio masinio pokyčio padarinius, kad būtų išvengta naujų problemų.

unian.net

Raktažodžiai

Rašyti komentarą

Plain text

  • HTML žymės neleidžiamos.
  • Linijos ir paragrafai atskiriami automatiškai
  • Web page addresses and email addresses turn into links automatically.
Sidebar placeholder