11月2日、Phoronixが「Linux Kernel Ported To WebAssembly」と題した記事を公開した。この記事では、LinuxカーネルをWebAssembly(WASM)上に移植する試みと、その技術的成果について詳しく紹介されている。以下に、その内容を紹介する。


オープンソース開発者のJoel Severin氏は、LinuxカーネルをWebAssemblyに移植し、WASM対応のウェブブラウザ上で動作させることに成功したと発表した。ブラウザ内のシェルから基本的なプログラムを実行できる段階まで到達しており、実際に起動デモも公開されている。
ただし、現在の段階では安定性に課題があり、Google Chrome上で動作させた場合、比較的容易にクラッシュを引き起こすことも確認されたという。
Severin氏はこの試みについて次のように説明している。
「これはあくまで技術デモであり、何が可能かを示すことが目的だ。現状では、いくつかの要因がこの作業を必要以上に困難にしている。しかし、LinuxとWASMの双方に前進する意思があれば、現在の制限を取り除くことも不可能ではないだろう。スムーズな体験を実現するためには、それぞれのプラットフォームの根本的な部分に手を加える必要がある。特にWASM側において顕著だ。」
この発言からは、現状の移植が実験的な段階に留まっているものの、将来的にLinuxカーネルをWebAssembly上で本格的に動作させる可能性が見えていることがうかがえる。
より詳しい技術的背景については、同氏がLinuxカーネルメーリングリスト(LKML)に投稿した詳細レポートからも確認できる。
また、WebAssembly版LinuxカーネルのデモはGitHub Pagesで試すことができる。さらに、パッチが適用されたLinuxカーネル、LLVM、Musl libc、initramfs、BusyBoxのソースコードは、GitHubリポジトリに公開されている。
この実験的プロジェクトは、Webブラウザ上でLinux環境を直接実行するという大胆な試みであり、WebAssemblyの可能性を広げる一歩といえるだろう。もし今後、WASMとLinuxカーネルの両陣営が協力し、互換性とパフォーマンスを高める方向に動けば、ブラウザを通じてOSレベルの実行環境を提供する新たな時代が到来するかもしれない。
詳細はLinux Kernel Ported To WebAssemblyを参照していただきたい。