Y2K38

Wikipedia
Loikkaa: valikkoon, hakuun
Miten päiväys resetoituu 32-bittisellä etumerkillisellä luvulla esitettynä
(Klo 03:14:08 UTC 19. tammikuuta 2038).

Lyhenteellä Y2K38 tarkoitetaan Y2K-ongelmien kaltaista, 19. tammikuuta 2038 tapahtuvaa 32-bittisen kellon ympäripyörähtämistä ja sen aiheuttamia tietojenkäsittelyongelmia.

Unixin sukuisissa käyttöjärjestelmissä aikaa mitataan sekunteina UNIX-ajan nollahetkestä, joka on 1. tammikuuta 1970 kello 0.00.00 UTC. Näissä käyttöjärjestelmissä ja niille tehdyissä sovelluksissa ajan esittämiseen käytetään C-kielen vakiokirjastossa määriteltyä time_t-sekuntilaskuria. time_t puolestaan on perinteisesti ollut 32-bittinen etumerkillinen luku. Suurin sillä ilmaistava sekuntimäärä vastaa hetkeä 3.14.07 UTC tiistaina 19. tammikuuta 2038.

64-bittisyyden mahdollistavalle suoritinarkkitehtuurille rakennetuissa Unixin sukuisissa käyttöjärjestelmissä (esimerkiksi Linux AMD64:lle) on siirrytty käyttämään 64-bittistä time_t:tä, jolla 32-bittisen luvun rajallisuuden aiheuttama ongelma siirtyy miljardien vuosien päähän. 64-bittiset järjestelmät saattavat palvelin- ja PC-laitteissa syrjäyttää 32-bittiset ennen kriittistä ajankohtaa: niihin siirtyminen alkoi laajasti palvelimissa 1990-luvulla ja pöytäkoneissakin 2000-luvun alussa. Sen sijaan sulautetut järjestelmät ovat edelleen lähes täysin 16- tai 32-bittisiä, ja niiden käyttöikä voi olla vuosikymmeniä.lähde? Ongelmiin saatetaan törmätä myös 32-bittisissä järjestelmissä jo paljon ennen varsinaista Y2K38-hetkeä: tietoturvayhtiö F-Securen mukaan esimerkiksi 25-vuotisen lainan koron laskeminen voi aiheuttaa ongelmia jo 19. tammikuuta 2013 jälkeen.[1]

Tilapäisratkaisuna on esitettyselvennä 32-bittisen time_t:n muuttamista etumerkittömäksi. Näin siirtymälle saataisiin lisäaikaa, mutta toisaalta etumerkitön 32-bittinen time_t ei voi ilmaista ajankohtia ennen 1.1.1970. Ongelmana on myös, että jos time_t:n tyyppiä muutetaan, sitä käyttävät ohjelmat - käytännössä lähes kaikki ohjelmat - on käännettävä uudelleen. Lisäksi sovellusten etumerkillistä time_t:tä käyttäneessä muodossa tallentamat tiedostot muuttuvat uuden käännöksen kanssa yhteensopimattomiksi.

Lähteet[muokkaa | muokkaa wikitekstiä]

Katso myös[muokkaa | muokkaa wikitekstiä]