2038年問題は何が起きるの?世界中で誤作動?預言者もいた?

datacenterDSC00209 TP V4 - 2038年問題は何が起きるの?世界中で誤作動?預言者もいた?

コンピュータが誤作動を起こす可能性があるとして「2038年問題」が話題となっています。UNIX系OSで発生すると言われている「2038年問題」の原因や対策、その他2038年付近に発生すると言われている様々な予言などについてご紹介したいと思います。

2038年問題を分かりやすく解説!2038年1月19日に世界中で誤作動?

yH5BAEAAAAALAAAAAABAAEAAAIBRAA7 - 2038年問題は何が起きるの?世界中で誤作動?預言者もいた?

geralt / Pixabay

2038年問題とは一体何なのでしょうか?ここでは2038年1月19日に世界中で誤作動が発生すると言われている「2038年問題」の仕組みについて紹介したいと思います。

2038年1月19日にコンピューターの誤作動?

yH5BAEAAAAALAAAAAABAAEAAAIBRAA7 - 2038年問題は何が起きるの?世界中で誤作動?預言者もいた?

geralt / Pixabay

2038年問題とは、2038年1月19日を過ぎてしまうとコンピュータ内の時刻がマイナスとなり、時刻を条件として動作しているコンピュータが誤作動を起こしてしまう可能性があるという問題です。

「UNIX時間」を使用しているシステムのエラー?

yH5BAEAAAAALAAAAAABAAEAAAIBRAA7 - 2038年問題は何が起きるの?世界中で誤作動?預言者もいた?

geralt / Pixabay

2038年問題は「UNIX時間」と呼ばれる、協定世界時における1970年1月1日0時0分0秒からの経過秒数を採用しているコンピュータにて発生する恐れがあります。

2,147,483,647秒経過するとオーバーフロー?

yH5BAEAAAAALAAAAAABAAEAAAIBRAA7 - 2038年問題は何が起きるの?世界中で誤作動?預言者もいた?

Alexas_Fotos / Pixabay

UNIX時間は32bitで構成されています。bitとは0と1で構成される2進数であり、32bitの場合は32個の0または1で数を表します。nbitで表現することができる数字の最大は2^n-1です。

UNIX時間は「time_t型」が使われています。1桁目が正負を表すbitであり、2桁目以降が値を示すbitとなっています。つまり、time_t型で表すことができる数の最大は2^31-1となります。

これを計算すると2,147,483,647秒となります。この値を超えてしまうと1桁目のbitが変わってしまい(オーバーフロー)、マイナスの値となってしまいます。

日本時間だと2038年1月19日3時14分7秒

yH5BAEAAAAALAAAAAABAAEAAAIBRAA7 - 2038年問題は何が起きるの?世界中で誤作動?預言者もいた?

cegoh / Pixabay

オーバーフローの閾値である2,147,483,647秒に到達するのは日本時間では2038年1月19日3時14分7秒です。

この時間を過ぎてしまうとオーバーフローが発生してしまいコンピュータが誤作動を起こしてしまう可能性があるのです。

NEXT Linuxのファイルシステムは対応できない?