コンピュータに「2038年問題」というものがあることをご存知でしょうか?
過去にも「2000年問題」などがありましたが、2038年問題はもう一段根深い内容なのです。
まだ先の話と思いきや、根深い問題でもあるため、特にコンピュータに関わる方は知っておいた方がよいでしょう。
2038年問題とは
協定世界時(UTC)が2038年1月19日3時14分7秒を超えると、コンピュータの時間がおかしくなり、誤作動が起こるのではないか、という問題です。
コンピュータは「UNIX時間」と言われる
1970年1月1日0時0分0秒からの経過秒数をカウントする
仕組みを使っているケースがあります。
しかし、コンピュータが保有する桁数の問題で、
2038年1月19日3時14分7秒に経過秒数がオーバーフローしてしまい、
想定しない誤作動をする可能性があります。
(プラスマイナスで考えるため、おそらく1901年12月13日20時45分52秒に戻ります)
2000年問題よりも厄介?
いわゆる2000年問題は、「年」を下二桁でアプリケーションが管理しているケースがあったのが問題でした。
単純に、97年(1997年)、98年、99年、00年(1900年?)となってしまうため、正しく4桁で年を管理すればよかったのです。
しかし、2038年問題は、アプリケーションの問題というよりは、
アプリケーションが動く土台となるOSやプログラミング言語自体の限界のケースが多いです。
対策としては、32ビットで計算している時間を64ビット化する必要がありますが、
本当に64ビットで処理できているか、などは、改修だけでなくテストも大変になるでしょう。
また、この対策はサーバのような高性能なシステムではなく、
組み込み系機器において
(リソースの関係もあり)影響が大きい可能性もあります。
そもそも、現存する機器が対応できない可能性があります。
(2038年までに故障するだろう、という考え方もありますが)
時間が巻き戻る?それが?
時間が巻き戻ると何が起こるのでしょうか。
一概に言えませんが、
時間は未来に進んで行くのが当たり前であるため、
戻るパターンは考慮していないのが普通です。
例えば、銀行口座から出金したお金が1901年になったとしたら、
残高はどうなるでしょうか?
(計算の仕方によります)
時間関係でいくと、「うるう秒」があるだけでも、システムトラブルになる実績が多数あります。
【メルマガ】うるう「秒」は、システムインパクト大(2022年09月06日) >>>
そのため、うるう秒を差し込むのは止めよう、ということに変わりました。
2038年というと、今よりもさらにコンピュータでの制御がなされていることでしょう。
大きなトラブルにならないように、
2038年問題は今から対処していく必要があるでしょう。
メルマガ『Professional's eye』
"意見が持てる"デジタルコラム
週1回配信、3分で楽しめます。
送信いただいた時点で「Privacy Policy」に同意したとみなします。
広告を含むご案内のメールをお送りする場合があります。