þekking Discovery
/ Knowledge Discovery >> þekking Discovery >> tækni >> tölva >> tölva öryggi >>

Hvað er opið 2038 vandamálið?

What er Ár 2038 vandamálið?
Hvað er 2038 vandamálið?

Árið 2000 Vandamálið er skilið við fólk þessa dagana vegna þess að mikið magn af athygli fjölmiðla sem hann fékk .

Flest forrit skrifuð í C forritunarmál eru tiltölulega ónæmur fyrir Y2K vandamál, en þjást í staðinn frá árinu 2038 vandamáli. Þetta vandamál stafar af því að flestir C forrit nota bókasafn af venja kallast staðall tími bókasafn. Þetta safn er kveðið á um staðlað 4-bæti snið fyrir geymslu tíma gildi, og einnig veitir fjölda aðgerða til að breyta, birta og reikna tíma gildi.

Hið staðlaða 4-bæti snið gerir ráð fyrir að í upphafi tíma er 1. janúar, 1970, á 12:00:00 am gildi 0. Hvenær /dagsetning gildi er gefið upp sem fjöldi sekúndna eftir að núll gildi. Svo er gildi 919642718 919,642,718 sekúndur fyrri 12:00:00 am 1. janúar 1970, sem er sunnudagur 21 febrúar, 1999, á 16:18:38 Pacific tíma (US). Þetta er þægilegt snið því ef þú draga einhverjar tvær gildi, það sem þú færð er fjöldi sekúndna sem er tímamunurinn milli þeirra. Þá er hægt að nota aðrar aðgerðir í safninu til að ákvarða hversu margar mínútur /klst /daga /mánaða /ár eru liðin frá tveimur tímum.

Ef þú hefur lesið Hvernig bita og bæti Vinna, þú veist að undirritaður 4-bæti heiltala hefur hámarksgildi 2,147,483,647, og þetta er þar Ár 2038 vandamál kemur frá. Hámarksgildi tíma áður en það rúlla yfir í neikvæða (og ógilt) gildi er 2147483647, sem þýðir í janúar 19, 2038. Á þessum degi, allir C forrit sem nota staðlaða tíma bókasafn munu byrja að hafa vandamál með dagsetningu útreikninga.

Þetta vandamál er nokkuð auðveldara að festa en Y2K vandamál á mainframe, sem betur fer. Vel skrifuð forrit getur einfaldlega verið recompiled með nýja útgáfu af safninu sem notar, til dæmis, 8-bæta gildi fyrir geymslu sniði. Þetta er mögulegt þar sem bókasafn ævisaga allan tímann virkni með eigin tíma sínum gerðum og aðgerðir (ólíkt flestum mainframe forrit, sem ekki staðla dagsetningarsnið sínar eða útreikninga). Svo Ár 2038 vandamál ætti ekki að vera nærri eins erfitt að festa sem Y2K vandamálið var
Hér eru nokkrar áhugaverðar tenglar:.

  • Hvernig á árinu 2000 Vandamál virkar
  • Hvernig C Programming Works
  • Hvernig bita og bæti Vinna
  • Hvernig Operating Systems Vinna