Linuxカーネル5.6、32ビット版で2038年問題への対応が行われる

2020年2月5日 18:19

印刷

記事提供元:スラド

 headless曰く、

 Linuxカーネル5.6(Linuxカーネル5.4/5.5にバックポートされる可能性も高い)の32ビット版で2038年問題(Y2038)への対応が初めて行われたという(Arnd Bergmann氏のメーリングリスト投稿PhoronixThe Register)。

 Y2038はUNIX時間が2038年1月19日3時14分7秒(UTC)以降、符号付き32ビット整数で表現できる範囲を超えてしまうという問題だ。OpenBSDは2014年にY2038対応しているが、Linuxの場合64ビットシステムでは64ビット整数が標準のため影響は少ないものの、カーネルとユーザー空間が分かれていることから32ビットシステムでの対応は簡単に進められる問題ではなかったという。なお、2038年に32ビットPCが使われていない可能性は高いが、32ビットの埋め込みシステムが多数残っている可能性もある。

 Arnd Bergmann氏らは何年にもわたってY2038対応に取り組んでおり、32ビットシステムでも64ビットのtime_tが使われるようにするなどの修正を進めていた。Bergmann氏によればLinuxカーネル5.6が2038年以降も32ビットシステムで実行可能な初のリリースとなるが、いくつか注意すべき点が残されているという。たとえば、ユーザー空間は64ビットtime_tを使用するようコンパイルする必要がある。また、タイムスタンプに符号付き32ビット整数を使用するファイルシステムの問題など、64ビットシステムに影響する問題は32ビットシステムにも適用されるとのことだ。

 スラドのコメントを読む | Linuxセクション | Linux | デベロッパー

 関連ストーリー:
OpenBSD 5.5、2038年問題に対応 2014年05月07日
2038年問題まであと8億秒 2012年09月13日
Unix time「1234567890」を祝うサイトとパーティ 2009年02月13日
UNIX time が「1234567890」になる 2009年02月09日
2038年問題、早くも顕在化 2004年02月03日

※この記事はスラドから提供を受けて配信しています。

関連キーワード

関連記事