今日は何の日

<今日は何の日>1月11日(2004年)『2038年問題』が発生

2022/01/14 09:00

週刊BCN 2022年01月10日vol.1906掲載

2000年問題よりも厄介?

 西暦を下2ケタだけで処理しているシステムで、2000年以降の誤作動が懸念された「2000年問題」。業界の尽力により、結果的には社会に大きな混乱もなく00年を迎えることができたが、コンピューターで取り扱う日時をめぐっては、別のリスクも指摘されている。「2038年問題」である。
 

 1970年1月1日0時0分0秒を起点とし、そこからの経過秒数で時刻を表現する「UNIX時間」を採用しているシステムは多い。そのUNIX時間が32ビット(符号付き整数)で扱われているシステムでは、38年1月19日3時14分7秒に時刻の値が最大値へ達してしまうため、それ以上時刻を正しく認識できなくなり、誤作動するおそれがあるのだ。

 38年を待たずして、既に問題は確認されている。04年1月11日、一部の銀行のATMで取引が正しく行えなくなる不具合が発生。これが、2038年問題が最初に顕在化した例とみられる。70年と38年のほぼ中間で誤作動が起きたことから、時刻を足し合わせる、2倍にするといった処理でケタ数があふれた模様だ。

 発生原理が複雑なことから、2000年問題よりも不具合の修正や社会の理解が進まない可能性もある。(螺)


由来
20以上の銀行でATMが正常に使えなくなるトラブルが発生。誤作動の原因は、時刻の表現に「UNIX時間」を用いており、処理の途中でケタ数があふれてしまったためだった。
  • 1