2038年問題って知ってますか?

アウトレット特別特価

「2000年問題」って覚えていますか?
「Y2K」などと称され、結構、問題となっていました。

これは、COBOLやFORTRANのような古いプログラミング言語が、年号を2桁で管理していることが原因となったのですが、この時は、結局事前の対策も功を奏して、トラブルも起きるには起きたのですが、大きなものでは無かったと記憶しています。
但し、飛行機や電車などが、対策の為に運転を見合わせたり、郵貯のATMが停止したりというトラブルはありました。

で、今度は、これから12年後の2038年に予測されるもので、「2038年問題」です。
これは、32ビットのUNIX環境でのC言語に発生する問題だそうです。
C言語のプログラムでは、時刻を「time_t」という型に収めていますが、この起点を協定世界時(UTC)の1970年1月1日から開始しており、 1秒ごとに1つずつ数字が増える仕組みになっているそうです。
このため、32ビット環境では、、2038年1月19日午前3時14分7秒(UTC)を過ぎると、時刻がオーバーフローしてしまい、時刻を前提としたプログラムで誤作動が起きる危険性と言われています。

対策は、time_t型を符号つき64ビット整数型にするという方法が一般的とされ、この変更を行った場合、扱える年号は西暦3000億年までとされているそうです。

最近のサーバOSやプログラムは64ビット対応ですので、この問題は回避できるでしょうが、32ビットで書かれたCプログラムに潜在するため、結構シビアという事です。

そのうち、話題になってきますね。

短納期対応パソコン

シェアする

  • このエントリーをはてなブックマークに追加

フォローする