第25回 32ビット環境に迫る「2038年問題」 時計がおかしくなると……古賀政純の「攻めのITのためのDocker塾」(1/3 ページ)

いまだ数多くのシステムで32ビットのOSやアプリケーションが使われていますが、実は深刻な影響が懸念される「2038年問題」を抱えています。将来どのような影響が出るのかについて、今回から「Docker」による検証を先取りしていきます。

» 2016年07月13日 08時00分 公開

 連載の第13回第14回では、古いシステムからの移行や延命措置を取り上げてきましたが、実はいずれも64ビット環境を想定したものでした。しかし、日本で稼働するシステムには古い「32ビットアプリ」が数多く存在し、深刻な影響が懸念される「2038年問題」を抱えています。IoT時代の到来を見据えてアプリが全て64ビット対応になれば話は単純なのですが、32ビットのOSやアプリの現役ぶりはまだまだ続きそうです。そこで今回からは、Docker環境におけるレガシーな32ビットOSの利用に迫ります。

1998年から18年使い続けている腕時計

 筆者は、大学生の時にアルバイトで購入した腕時計を18年間使い続けています。腕時計はSEIKOから1998年に発売された「ALBA SPOON WEB W440-4000」というモデル。発売当時は、雑誌などでも取り上げられ、とても人気のある腕時計でした。

Docker 筆者が18年使っているSEIKOの「ALBA SPOON WEB W440-4000」の様子。スマホの自動画面回転機能を先取りしたような時刻の縦横表示を切り替えることができる

 SPOON WEBは時刻の表示が特徴的で、縦向きや横向きの表示をボタンで切り替えられます。誕生日などの記念日などを登録しておくと、その日に英語やカタカナのメッセージを表示させるといった、当時としては面白い機能もあります。電話やメールの機能はありませんし、インターネット接続もできませんが、メールアドレスを保存できることから、名前に「WEB」と付いているのかもしれません。

 筆者は、東京の有楽町にあるSEIKOの保守サポート窓口で電池交換やベルト修理をしてもらっています。窓口の人が時計を見ると、「懐かしいですねぇ」と言ってくれるのがとても嬉しく、筆者はここに行きます。ここの待合スペースには、ある人の人生とともに歩む時計を描いた感動的な映像が映し出されています。社会人1年目のときに身につけていた時計を定年退職後もずっと身に着けているという内容です。仮に65歳を定年とすると、筆者は西暦2030年代の終わりにその時を迎えます。映像の登場人物と同じように、2030年代終わりまでこの時計と一緒に過ごそうと思いつつ、電池交換を終えた腕時計の設定をチェックしていたとき、ふとこんな疑問が沸いたのです。

「この腕時計はコンピュータの2038年問題をクリアできるのだろうか……」

「Dockerも2038年問題をクリアできるのだろうか……」

コンピュータの2038年問題

 2016年現在、情報技術で最もホットな話題の一つが「人工知能」です。コンピュータが人間のような知的な情報処理を行う「人工知能」が人間の脳を超えるといわれているのが西暦2030年代。人工知能を搭載したロボットが身の回りにあふれ、ロボットと人間で知的な会話が当たり前のようになっているかもしれません。その時の日本は、筆者を含め、65歳以上の高齢者が総人口の3分の1を占める「超高齢社会」を迎えています。超高齢社会では、ロボットが高齢者の身の回りの世話や相談役になっているかもしれません。今よりも格段に知能化したコンピュータが身の回りにあふれている未来です。

 しかし、そんな夢のある未来に世界中のコンピュータに不具合が発生するかもしれないことをご存知ですか? それは、「コンピュータの2038年問題」です。32ビットの古いOSを搭載したコンピュータは、西暦1970年1月1日から数え、協定世界時の西暦2038年1月19日3時14分7秒(日本標準時では、西暦2038年1月19日12時14分7秒)を過ぎると、時刻を正しく取り扱えなくなり、誤動作する恐れがあります。

Docker コンピュータの「2038年問題」

 腕時計の電池交換を終えた筆者は、さっそく手元にあるスマホの時計を西暦2038年1月19日に設定してみました。すると、筆者のスマホでは、時計が西暦1901年12月14日に戻されてしまいました。こんな身近なコンピュータも、2038年問題を抱えていることが分かります。では、筆者の腕時計「SPOON WEB」はどうでしょうか。西暦2038年に設定した「SPOON WEB」が一体どうなるのかは、やや先ですが連載の第27回にて実際の挙動を動画でご紹介します。

Docker 筆者所有のスマホでは、時計を2038年1月19日12時14分以降に設定しようとすると、西暦1901年12月14日に戻されて表示された(設定の保存はできない)
       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.