Windows Insider Preview

Rust言語で開発したWindowsカーネル、Canaryチャネルで展開開始

C/C++言語よりもメモリ安全性を確保しやすく、速度も遜色ない

 このコーナーでは、「Windows 11 Insider Preview」ビルドでテストされている最新のOS機能を紹介します。ただし、テストの結果、紹介した機能が製品版OSに搭載されないこともあります。あらかじめご留意ください。

Windowsカーネルの開発にRust言語が導入(Mark Russinovich氏のTwitterアカウントより引用)

 米国時間7月13日に「Windows 11 Insider Program」のCanaryチャネルでリリースされたBuild 25905では、Rust言語で実装されたWindowsカーネルが一部で展開されているとのこと。Rust製のWindowsカーネルの存在は以前に同社のMark Russinovich氏が自身のTwitterアカウントで明らかにしていたが、これが実際に利用できるようになる。

 Windowsカーネルの開発にはC言語を中心に、アセンブラやC++言語が用いられているが、いずれもプログラマーがメモリを直接管理する仕組みになっている。開発当時のデバイスやハードウェアに厳しいリソース制限があり、そこでパフォーマンスを出すためには必要かつ妥当な選択であったが、開発規模が大きくなるにつれてメモリ管理に関わる不具合が混入する結果にもなった。メモリ安全性の欠如はシステムの安定性を損なうだけでなく、ときに重大なセキュリティリスクとなる。

 そこで注目されているのが、Rust言語だ。Rustはコンパイラーがメモリ管理を厳格にチェックしてくれるため、メモリの安全性を保障できる。習熟に多少時間はかかるが、C/C++と同等の実行速度を確保できるのも魅力で、「Android 13」「Chromium」のサードパーティライブラリ速度を重視するアプリケーションなどで採用が広まりつつある。

 Microsoftによると、今回のプレビューではRustによる重要なカーネル機能の初期実装として「win32kbase_rs.sys」にGDIリージョンの新しい実装が含まれているとのこと。まだRust言語の採用はほんの一部でしかないが、次第に拡大されるものとみられる。

 なお、Canaryチャネルは今回の新カーネルに代表されるように、内部的な変更が試される場だ。新機能が次々と披露されるDevチャネルに比べると地味で、動作の安定性も保障されないので注意。

 興味のあるユーザーは「設定」アプリの[Windows Update]セクションでチャネルを切り替えてもよいが、一度Canaryチャネルにしてしまうと他のチャネルに戻せない(クリーンインストールが必要となる)点にも留意したい。本ビルドにはISOイメージファイルが用意されているので、システムが不安定になったり、誤って破壊してしまった場合は、これで再インストールとよいだろう。