今週、新しいパッチが Linux カーネル メーリング リストに送信され、Rust for Linux カーネル プロジェクトが進展しました。
Linuxカーネル用のRustはGoogleがスポンサーとなっているプロジェクトだが、業界からの幅広い支持を得ている。
新しいパッチは、現在のC言語に加えて、「Linuxカーネルの第二言語としてRustのサポートを追加する」ものです。前回のパッチは今年7月にリリースされました。
この最新のパッチで注目すべき点は、Rust コンパイラの安定リリースを使用していることですが、プロジェクトではまだ不安定なコンパイラ機能がいくつか必要です。
「不安定な機能に依存しなくなるまで、アップグレードを続けます」とプロジェクトリーダーのミゲル・オジェダ氏は書いている。
Ojedaは、ISRG(インターネットセキュリティ研究グループ、Let's Encryptで有名)を通じてGoogleの支援を受け、Linux向けRustをはじめとするセキュリティ対策に取り組んでいます。セキュリティだけが理由ではありませんが、Linuxカーネル向けRustはセキュリティプロジェクトの一つとされています。ISRGのエグゼクティブディレクター、ジョシュ・アース氏は、「Linuxカーネルの一部をメモリセーフなRustで記述できるようにすることで、ドライバなどの特定のコンポーネントにおけるメモリ安全性の脆弱性を完全に排除できます」と説明しています。
新しいパッチでは、さまざまなカーネル機能の抽象化も追加されます。
オジェダ氏は、Red Hat がこのプロジェクトに対するサポート声明を発表し、「Red Hat が検討しているカーネル作業に Rust を使用することに関心がある」と述べた。
これは、Microsoft、Arm、そしてもちろんGoogleからの以前の声明と並んで発表されています。Red Hatの声明は、例えばArmが「ArmのRustaceansはRust for Linuxイニシアチブに興奮しており、この取り組みへの協力を楽しみにしています」と述べたことと比べると控えめです。
しかし、Red Hat Enterprise Linux とその派生製品の幅広い使用を考慮すると、これは依然として重要です。
- 落ち着いてRustを学びましょう。近いうちにLinuxでこの言語がもっと使われるようになるでしょう。
- Rustは地球を救えるのか?その理由と、救えない理由
- ウェブブラウザでJavaScriptを実行するのがお好きですか?さあ、Pythonスクリプトに挑戦してみましょう
- Rust騒動でモデレーターチーム全員が辞任。理由は?彼らははっきりとは言わない。
Rust コンパイラ rustc_codegen_gcc の GCC (GNU コンパイラ コレクション) バックエンドが Rust に統合されました。これは、GCC で Rust をコンパイルできるようになるための一歩です。
記載されている利点は、「LLVM がサポートしていないプラットフォームでも Rust コードをコンパイルできるようになること」です。二次的な目標は、gcc バックエンドを使用することで、rustc を使用してコンパイルされたプログラムの実行速度が向上するかどうかを確認することです。
Ojeda氏によると、GCCを使った「カーネルのRust側」の実験的なコンパイルは近日中に開始される予定とのことです。ただし、カーネルのRustの主なコンパイラは、rustc_codegen_llvm経由のLLVMです。
オジェダ氏は、「Rustのサポートはまだ実験段階だと考えられる。しかし、カーネル開発者がサブシステムのRust抽象化に取り組み、ドライバやその他のモジュールを作成できる程度にはサポートは十分だ」と述べた。
ドキュメントはこちらです。Ojeda氏はまた、カーネルパッチを「2週間ごと」に提出し、開発を加速させると約束しました。®