Žinios Discovery
/ Knowledge Discovery >> Žinios Discovery >> Technika >> kompiuteris >> kompiuterių saugumas >>

Kaip 2000 metų Worked

nebeveikia. Pavyzdžiui, jei programa mano, kad šiandieninė data yra 1/1/00 ir jūsų gimtadienis yra 1/1/65, tada jis gali apskaičiuoti, kad jūs esate -65 metai, o ne 35 metai. Kaip rezultatas, data skaičiavimai duoti klaidingus išvesties ir programinės įrangos gedimų ar gamina blogus rezultatus.

Svarbu pripažinti tai, kad tai viskas. Tai yra visa problema 2000 m. Daugelis programuotojų naudojami 2-skaitmenų formatą savo programose metus, ir, kaip rezultatas jų data skaičiavimai neduos teisingus atsakymus 1/1/2000. Nėra nieko labiau į jį, kad ne.

sprendimas, be abejo, yra nustatyti programas, kad jie tinkamai veiktų. Yra standartinių tirpalų pora:

  • recode programinę įrangą taip, kad ji supranta, kad metų kaip 00, 01, 02, ir tt iš tikrųjų reiškia 2000, 2001, 2002, ir tt
  • " Tikrai išspręsti problemą " naudojant 4-skaitmenų rezervuotų metų ir perkodavimas visą programinę įrangą susidoroti su 4 skaitmenų datų. [Įdomybės mintis klausimas - kodėl naudoti 4 skaitmenys metų? Kodėl gi ne naudoti 5 ar net 6? Kadangi dauguma žmonių mano, kad niekas bus naudojant šią programinę įrangą 8000 metų nuo dabar, ir kad atrodo kaip pagrįstą prielaida. Dabar jūs galite pamatyti, kaip mes turime save į Y2K problema ...]

    Bet šių pataisymų yra lengva padaryti konceptualiu požiūriu - jūs einate į kodą, suraskite kiekvieną data apskaičiavimą ir kaita juos tinkamai tvarkyti dalykus. Tai tiesiog, kad yra milijonai vietų programinės įrangos, kuri turi būti fiksuoto dydžio, ir kiekvienas nustatyti turi būti daroma rankomis ir tada išbandyti. Pavyzdžiui, draudimo bendrovė gali turėti 20 arba 30 mln kodo eilutes, kuri atlieka savo draudimo skaičiavimus. Viduje kodas ten gali būti 100.000 ar 200.000 data skaičiavimai. Priklausomai nuo to, kaip buvo parašyta kodas, gali būti, kad programuotojai turi eiti ranka ir keisti kiekvieną tašką programa, kuri naudoja datą. Tada jie turi išbandyti kiekvieną pakeitimą. Bandymų yra sunku dalis daugeliu atvejų -. Tai gali užtrukti daug laiko

    Jei jums išsiaiškinti užtrunka vieną dieną atlikti ir išbandyti kiekvieną pakeitimą, ir ten 100.000 pakeitimus, kad ir žmogus dirba 200 dienas per metus, tada tai reiškia, kad ji imsis 500 žmonių per metus atlikti visus pakeitimus. Jei jūs taip pat suprasti, kad dauguma įmonių neturi 500 tuščiosios eigos programuotojai sėdi už metus tai padaryti ir jie turi eiti samdyti tuos žmones, jūs galite pamatyti, kodėl tai gali tapti gana brangus problema. Jei

    Page [1] [2] [3] [4] [5]