Loading...

2025年問題の次は2038年問題!コンピュータの暦問題を探る(後編)

データベースやアプリケーションソフトウェアの暦を西暦の下2桁で表記していた場合、2000年を1900年と誤認してしまうことで起こると予測される諸問題を指す『2000年問題』。また、データを昭和の下2桁で表記していた場合に起こると予測される諸問題を指す『2025年問題』。コンピュータにおける暦(こよみ)問題はこの2つだけではありません。2025年を越えた後には、『2038年問題』があるのです。

2038年問題はOSの問題

2000年問題や2025年問題は、いずれもデータやアプリケーションソフトウェアの問題ですので、2桁表示の暦を書きかえれば(2000年問題は、2000年がうるう年とカウントされないことによる問題も含んでいましたが)、ほとんどのケースはクリアすることができました。

ですが、2038年問題は、そのような『書き換え』によって回避できる問題ではありません。2000年問題も2025年問題もさしたる困難なくクリアできた企業や団体、個人にとっても大きな問題になる可能性が高いといわれています。また、2038年問題はコンピュータだけに起こりうる問題でもありません。日付機能があるものなら、搭載されているOSによっては誤作動が起こることがあるのです。

32ビットのOSは、2038年を乗り切れない?

32ビットのOSを搭載したコンピュータ等の機器は、世界標準時間の1970年1月1日0時0分からの秒数経過で日付と時間を数えています。32ビットですので2の32乗秒(2,147,483,648秒)、つまり1970年1月1日0時0分から数えると2,147,483,647秒後にオーバーフローしてしまうことになるのです。これが2038年1月19日3時14分7秒(日本時間では2038年1月19日12時14分7秒)に当たり、2038年1月19日3時14分8秒は1901年12月13日20時45分52秒(その後は1901年12月13日20時45分52秒から1秒ずつ時間を刻んで行く)と表記されてしまいます。

これを回避するにはOSを64ビット型にアップグレードするか、32ビットのunsigned long int型に変換するかが必要といわれています。64ビット型にアップグレードするなら約西暦3000億年まで使用できますので、今後、時間計算による誤作動に悩まされなくなります。また、32ビットのunsigned long int型に変換するなら西暦2106年に2038年と同じ問題が生じますので、2106年が到来するまでに何らかの対策を打つ必要が発生します。

家のパソコンは大丈夫?

今、お使いのパソコンが32ビット型なのか64ビット型なのかを確かめて見ましょう。Windowsをご使用の方はコントロールパネルから『システムとセキュリティ』→『システム』→『コンピュータの基本的な情報の表示』に入ると、32ビット型なのかどうかが表示されています。Macをご使用の方はアップルマークをクリックし、『このMacについて』→『詳しい情報』→『システムレポート』をチェックします。プロセッサ名がIntel Core SoloもしくはIntel Core Duoのときは、そのパソコンは32ビットだと知ることができます。
※一例であり、すべての機種が上記動作で確かめられるわけではありません

誤作動はどのように起こるか

筆者のパソコンは2007年に購入したもので、Windows VistaをOSにしています。コントロールパネルからビット数をチェックしてみたところ、32ビットであることが分かりました。本当に2038年問題が起こるのか、画面右下の日付設定ボタンから現在の日付を2038年1月20日(時間は自動表記なので調整することができませんでした。)にしてみたところ、画面がいきなりフリーズし、マウスもボタンも一切反応しなくなってしまいました。元の作業ができるようになるまで十数分ですが時間が取られてしまったので、二度とこのような挑戦はしないでおこうと思います。

修理が好きなので大抵の電気製品や電子製品は10年以上使う筆者ですが、さすがにパソコンを30年以上使うことはないので、2038年問題は新しいパソコンで軽く乗り越えられるとでしょう。ご自分の32ビットパソコンが2038年にどのような反応を示すか興味がある方は、ぜひ挑戦してみてください。※ただし自己責任でお願いします。

こちらもチェック

2025年問題の次は2038年問題!コンピュータの暦問題を探る(前編)