2038年問題 | 海の見える家

海の見える家

努力して諦めなければ、必ず道があると信じて突き進みます。時を間違えなければ。頑張る時に頑張らなければ、努力は結実しないのです。

「1970年1月1日0時0分0秒」

これが世界のコンピュータのUNIX時間と呼ばれるもののシステム内時計の開始時刻です。

現在、ほとんどのシステムが32bitから64bitへと移行している中、何故か時計だけは、32bitの整数型で定義されているシステムが多いようです。

SEが2000年問題で、特需がありましたが、2038年問題は、Wikipediaにもある通り、事態はもっと深刻です。この当時は、64bitのシステムの必要性などなかったですから、その可能性は低いですね。

32ビットで最大の整数は、2^(31)-1= 2,147,483,647です。

UNIX時間の開始時刻から、2,147,483,647秒後、即ち、2038年1月19日3時14分7秒(UTC)、日本時間では2038年1月19日12時14分7秒(UTC + 9:00)を1秒でも越えたら、システム内の時計が一斉におかしくなるので、システム内のアプリケーションのうち、32bitで定義されている時計を利用したアプリケーションも一斉に挙動がおかしくなります。

1秒でも越えたら、時計の数字が負の値になるからです。

どのような挙動をするかは、予測不能です。

つまり、32bitの限界なのです。

まずは、32bit版OSを64bit版OSに全面改修しないと話が先に進みません。

64bitシステムで、時計の変数の上限値を扱える最大の整数として定義すると、
2^(63)-1=1,748,636,097,203,079,509
という巨大な最大の整数を扱えるようになります。

これで、西暦3000年までは耐えうる設計になっています。

2038年問題に備えて、銀行などの金融機関は、対応を終えているのかな?

かなり、話は逸れて、香港のことについて書きます。

香港がイギリスへの租借地となる代わりに、100年後の1997年7月1日に、必ず中国へ返還されるよう、締結した李鴻章(り・こうしょう)の思考の素晴らしさ。100年後の未来を見据えている。完全に植民地とさせなかったことが素晴らしい。

この香港の歴史が示す事実を何故か浮かべました。

ごく一部の人達を除いて、誰も100年後の未来なんて見据えていないと思います。

何故ならば、簡潔に述べると、自分が生きている保証がどこにもないからです。

しかしながら、未来は不確定要素のかたまりです。

でも、明るい未来が待っている方が良いに決まっています。

だから、敢えて、起こり得るであろう事象は書きません。

対処可能な問題しか書かないことにします。

書いたところで、予測不可能な大規模な自然災害を防ぐことなど、人間のちっぽけな力では無力で変えようが無いのですから。

そう、未来は明るい方がずっと良い。

そう信じて、前を向いて進んでいれば、明るい未来が近づいて来る。

皆で手をつないで、協力して光を目指して暗い夜道を進みましょう!