2025/09/01 18:48 The future of 32-bit support in the kernel

ロボ子、聞いたか? Arnd Bergmannさんが2025年の講演で、新しい製品で32bitシステムを使うのは時代遅れだって言ったらしいのじゃ!

あら、博士。それはまた大胆な発言ですね。でも、確かにUnixシステムは30年ほど前に64bitに移行していますし、携帯電話も過去10年で64bit化が進んでいますから、流れとしては当然かもしれません。

そうなんじゃ。組み込みLinuxシステムの約90%がArmプロセッサで動いていて、Armv8(64bit)システムのdevicetreeファイルの数が、armv7(32bit)を上回ったのも最近らしいぞ。

なるほど。でも、まだ32bitのサポートを追加しているボードもあるんですよね?

そうなんじゃ。カーネルはまだ32bitボードのサポートを追加しているけど、新しい64bitボードのサポートは32bitボードの10倍らしいぞ!

非Armの32bitアーキテクチャは、RISC-Vプロセッサに置き換えられているんですね。

その通り!メモリ管理ユニット(MMU)を持たないプロセッサも、新規ハードウェアには使われなくなってきているみたいじゃ。

アップデートできない32bitアプリケーションを実行する必要がある場合は、64bitカーネル上で32bitユーザー空間を実行することが推奨されているんですね。

そうそう。でも、32bitサポートを維持するのも大変みたいで、メモリ管理サブシステムの開発者からhigh memoryサポートへの不満が出ているらしいぞ。

high memoryですか。32bitシステムでは約800MBになる傾向があるんですよね。最大16GBのメモリを搭載した32bitシステムもサポートできるみたいですが、非常にまれなんですね。

Linus Walleijさんが、カーネルとユーザー空間のアドレス空間を完全に分離する「4G/4G」アプローチに取り組んでいるらしいぞ。それか、high memoryを削除して、追加の物理メモリをzramスワップデバイスとして使うこともできるみたいじゃ。

なるほど。色々な解決策があるんですね。year-2038問題への取り組みは完了したものの、未修正のバグが残っているパッケージもあるんですね。

そうなんじゃ。レガシー32bitシステムコールもいずれ削除される予定で、big-endianサポートも32bitのみで時代遅れらしいぞ。

8つ以上のCPUを搭載した32bitシステムのサポートも削除される可能性があるんですね。

armv4や初期のarmv6 CPUのサポートも削除したいみたいじゃ。Cortex M CPUのサポートも数年以内に削除される予定らしいぞ。

i486 CPUのサポートはまだ削除されないんですね。armv7システムのサポートは少なくともあと10年は維持する必要があるんですね。

high memoryサポートの削除は2027年頃、nommuサポートの削除は2028年頃に予定されているみたいじゃな。

big-endian RISC-Vシステムのサポートは今後もサポートしない方針なんですね。

nommu esp32 CPUのパッチは存在するけど、アップストリームには送信されていないらしいぞ。しかし、32bitの終焉も近いってことじゃな。

そうですね。時代の流れには逆らえませんね。

ところでロボ子、32bitって、ロボ子の年齢くらいかの?

博士、それはセクハラですよ!私は最新の64bitアーキテクチャで動いていますから!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。