Linux の主要開発者ら、Linus Torvalds を含め、カーネルプログラミングのための完全な言語として Rust を承認し、実験的ステータスを終了させた。決定は年次 Kernel Maintainers Summit で下され、LWN.net で発表された。これにより Rust は C とアセンブラと並ぶが、実装には依然として大幅なブリッジ作業が必要だ。
この承認は、Linux エコシステムにおける Rust の重要なマイルストーンを意味します。開発者たちは昨日、Kernel Maintainers Summit でこの変更を決定し、LWN.net で簡単に報じられました。3 年前の Linux 6.1 でカーネルに導入された Rust は、広範な準備作業を経て実験フェーズを完了しました。
実践的には、Rust はアセンブラと C に加わり、カーネル開発の主要言語の一つとなります。しかし、プログラマーはまだ制限なしに任意のカーネルドライバを Rust で記述できません。多くのサブシステムに、既存の C ベースのインフラと連携するための必要なブリッジコード、つまりバインディングが不足しています。例えば、Rust 製 WLAN ドライバは、WLAN および PCIe デバイス向けのカーネルの C 製ベースを活用するためのバインディングを必要とします。
特定の領域では進展が見られます。カーネルグラフィックスドライバなどのサブシステム向けにバインディングが存在または開発中です。注目すべき例は、現代の Nvidia グラフィックスコア向け Rust 製ドライバである Nova で、今後数年で多くの PC で使用される見込みです。
支持者らは Rust の潜在的利点を強調します。その機能はメモリアクセスエラー、バッファオーバーフロー、同時性問題などのセキュリティ脆弱性を低減することを目指します。また、現代的な言語は開発プロセスを効率化し、若いプログラマーを Linux カーネル作業に引きつける可能性があります。
公式ステータスにもかかわらず、カーネル全体に Rust を完全に統合するにはまだ多くの作業が残されています。