2038-problemet

(the year 2038 problem) – det faktum att Unix och Unixkompatibla system ofta bara kan räkna tid till år 2038. – Det beror på att Unix räknar tid från den 1 januari 1970 (se epok) och därefter räknar sekunder med 31 binära siffror. Det högsta tal som kan anges med 31 siffror i binär notation är något över 2,1 miljarder, och dessa ≈2,1 miljarder sekunder från den 1 januari 1970 räcker till klockan 04:14:07 den 19 januari 2038. Då slår räkneverket om, men inte till noll, utan till minus ≈2,1 miljarder sekunder, räknat från 1970, vilket innebär att datorn tror att det är den 13 december 1901. 2038‑problemet är alltså besläktat med 2000‑problemet. (Se också heltalsöversvämning.) – Den uppenbara lösningen är att gå över till att ange tiden med 63 binära siffror. Om man gör det räcker sekunderna i över 292 miljarder år. De flesta nyare datorer har 64‑bitarsprocessorer som kan hantera 63‑siffriga binära tal, men om inte alla system och applikationer anger tid på samma sätt, eller inte är programmerade att förstå varandras tid, uppstår ändå krångel. Windows har till exempel inte ett inbyggt 2038‑problem, men datorer med Windows behöver ofta utbyta information med Unixservrar.

[tidmätning] [unix] [12 mars 2018]

Dagens ord: 2018-12-31