もし私たちがそれに備えなければ、2038 年にほとんどの現代のコンピューターが停止する可能性があります。 これは、大規模なウイルスやハードウェアの劣化が原因ではなく、コンピュータが時間を記録する方法に関係しています。
ほとんどすべてのコンピュータは 32 ビット プロセッサを使用して時間を記録し、「エポック」と呼ばれる 1970 年 1 月 1 日の UTC 00:00:00 からカウントを進めています。 この時点を現代のコンピュータシステムの標準としたのだが、大きな問題がある。 2038 年 1 月 19 日午前 3 時 14 分 (UTC) の 7 秒後に、多くのコンピュータでこの時間データを保存する 32 ビットシステムが位置不足に陥ります。
この問題は、2000 年以降をエンコードするために 2 桁の値を使用できなくなった Y2K 問題と似ていますが、この 32 ビットバグが Unix 系システムと Unix 時間形式に関係している点が異なっています。
Y2K バグとのこれらの類似性により、2038 問題は広く Unix ミレニアム バグとして知られるようになりました。 これらのシステムは、日付と時刻を 32 ビットのチャンクで保存します。 実際には、時刻の管理などのデータ保存のために、その膨大な数の異なる数値は半分にされます。
これは、Unixの32ビットタイムコードで表現できる最後の時刻が、1970年1月1日から231-1または21億4783万647秒後であることを意味します。 これ以降の時刻は折り返し、負の数として保存されます。 これは、記憶システムが変調する整数を使い果たし、符号だけを変更するために起こります。
これは大したことではないように思えるかもしれませんが、 私たちがソフトウェアを使用するすべての方法について考えてみてください。 タイムスタンプ付きのライセンスを持っている場合、重要な仕事の文書や財務情報などに突然アクセスできなくなる可能性があります。
問題は 2038 年に発生するだけではなく、未来の日付を使用するソフトウェアは、すぐに修正する必要があります。 投資ファンドや高度なスケジュール管理プログラムなど、20 年先の日付で動作するプログラムは、遅くとも 2018 年までに修正する必要がありました。
これらすべては、保存方法の終了日を変更するだけの簡単な修正のように聞こえるかもしれませんが、それほど単純なことではありません。 待機期間があるゲームやアプリの背後にいるコンピューター エンジニアは、2038 年 1 月 19 日以降の日付をコーディングする際に、すでに問題にぶつかっています。 ストレージ方式が32ビットUnixであるため、これらのサードパーティのプログラマーが、この時間を過ぎた日付をコーディングすることは不可能なのです。
関連。 12 OLDEST WEBSITES FROM THE 1980S AND 90S STILL ON TODAY
But so what, you may ask. 日付は変更され、プログラマはすでにこれらの問題を予期しており、潜在的な問題はパニックを起こさず、すぐに修正されるだけです。
飛行装置や現代の自動車などの輸送システムは、多くの場合、手つかずのまま使用される組み込みソフトウェアを使用しています。 現代の自動車のほとんどすべては、ECU (オンボード コンピューター) によって制御されており、ECU は日付と時刻を追跡するために Unix タイムキーパーを使用しています。 つまり、このバグは、ABS ブレーキ システム、電子安定制御、トラクション制御、および GPS システムを中断させる可能性があり、これらすべてに大きな影響を与える可能性があります。 簡単なものはありません。
自動車や家電製品のような組み込みシステムは、ソフトウェア アップデートなしで機器のライフサイクルを通じて使用できるように設計されています。 接続された電子機器は、時が来ればソフトウェア アップデートですぐに修正できますが、2038 年に最も大混乱を引き起こす可能性が高いのは、ほとんどがアップデートされない組み込みシステムです。
1 つのオプションとして、32 ビット整数のデータ格納システムを符号なし 32 ビット整数に変更することが挙げられます。 これにより、理論的には 2106 年までの日付ストレージが可能になりますが、1970 年より前の日付を使用していたシステムは、このデータへのアクセスで問題に直面することになります。
データ ストレージが 64 ビットに増加すると、32 ビット データ ストレージのみを使用する古いシステム間で互換ストレージ問題に直面します。 しかし、この末尾に肯定的なニュースがあります。
ほとんどの新しい電子機器は、より新しい 64 ビット データ ストレージ方式を使用するように設計されています。 これほど大きな日付の整数は、現在の推定宇宙年齢の 20 倍の長さになり、12 月 4 日 (日) 15:30:08 UTC で 292,277,026,596 年となります。 そのため、あなたのiPhoneはそれまで安全かもしれません。
幸いにも、この問題はよく知られており、徹底的に研究されています。つまり、コンピュータ エンジニアは、少なくとも、まだ更新されメンテナンスされているソフトウェアで、問題を解決する可能性が高いということです。 しかし、2038 年にガレージに眠っているミントコンディションの 1997 年型プリウスはどうでしょうか。 2038 年 1 月 3 日午前 3 時 14 分以降は、オンボード・コンピュータの不具合により、運転できないかもしれません
。