Motūrus OSの紹介
- Motūrusプロジェクトは、クラウド向けのシンプルで高速かつ安全なOSであるMotūrusOSを開発している。
- Motūrus OSは、仮想マシンベースのワークロードを対象とする新しいOSで、Webサーバー、サーバーレス、エッジキャッシュングなどに利用される。
なぜMotūrus OSなのか?
- 現在、ほとんどの仮想化された本番ワークロードはLinux上で動作している。
- Linuxには多くの高度な機能がある一方で、仮想化ワークロードには理想的ではない複雑さがいくつかある。
- Linuxはベアメタル向けに最適化されているため、VM内部で使うと非効率である。
- Linuxは使いにくい。
- Linuxは歴史的に非常に安全ではなかった。
- 仮想化ワークロードに特化した新しいOSは、Linuxよりはるかにシンプルで安全に作ることができ、性能や効率でもLinuxに匹敵するか、それを上回る可能性がある。
Motūrus OSとは何か?
- Motūrus OSはマイクロカーネルベースのOSで、Rust言語で構築されており、仮想化ワークロードのみを対象としている。
- 現在はx64 KVMベースの仮想マシンをサポートしており、QemuまたはCloud Hypervisorで実行できる。
- RustはMotūrus OSの中核言語であり、実装だけでなくABIもRustで提供される。
動作する機能
- 現在、ほとんどのサブシステムはPOC/MVPモードで動作しているが、Webサーバーのようなワークロードを実行できる。
- 具体的には次のような機能が動作する。
- MBR(Qemu)またはPVH(Cloud Hypervisor)を通じて約200ms以内に起動する。
- himemマイクロカーネル。
- スケジューリング: シンプルなマルチプロセッサ・ラウンドロビン(SMP)、カーネルスケジューリングは協調的。
- メモリ管理: 現時点では4Kページのみをサポート、スタックは保護され、ユーザー空間のページフォールトは適切に処理される。
- I/Oサブシステム(ユーザー空間内): VirtIO-BLKおよびVirtIO-NETドライバー、2つのシンプルなファイルシステム、smoltcpベースのネットワーキング(TCPのみサポート)。
- ユーザー空間: マルチプロセス、プリエンプション、スレッド、TLS、Rust標準ライブラリの大部分を移植済み。
- シンプルなUnixスタイルのシェルを提供。
動作しない機能
- 大部分はまだ本番利用の準備ができていない。
- セキュリティ監査は行われていない。
- sys-io(ユーザー空間I/Oサブシステム)で"未実装"パニックが簡単に発生しうる。
- 具体的には次のような機能は動作しない。
- ファイルシステム: Rust std::fs APIの大部分はPOCとして実装されているが、非同期I/Oを使って再実装する必要がある。
- ネットワーキング: std::net::TcpStreamは大部分が実装されているが、他のプロトコルはまだ実装されていない。
- Rust標準以外のエコシステム: 一部のクレートは軽微な調整でコンパイルして利用可能だが、Tokioのような非同期ランタイムに依存するクレートは現時点ではコンパイルできない。
Motūrus OSをどうやってビルド/実行できるか?
謝辞
- RustでOSを書くブログシリーズを執筆したPhilipp Oppermannに深く感謝する。多くの人々がこの分野で実験するきっかけとなった。
GN⁺の見解
- 革新的なアプローチ: Motūrus OSは仮想化環境に特化した新しいOSで、Linuxの複雑さと非効率性を解決しようとしている。
- Rust言語の採用: Rustはメモリ安全性と性能を重視する言語であり、Motūrus OSの安全性と効率性に貢献するだろう。
- 開発者コミュニティへの貢献: このプロジェクトは、OS開発に関心のある開発者が新たな可能性を探り、既存の限界を超える助けになるだろう。
3件のコメント
writing an os in rustのブログを私も見ていますが、もうすでに動きがありますね!良い記事だと思います
Hacker Newsの意見
プロジェクト開発者/作者の意見:
"Rust-first" アプローチに関する説明:
小さなカーネルが現代のコンピューターで200msかかる理由への疑問:
Rustで書かれたカーネルで、async-firstなカーネルを見てみたいという意見:
Linuxとの競争に関するLinus Torvaldsの過去の発言を思い出させる意見:
Motor OSのようなプロジェクトへの興味と、開発継続を願う意見:
Linuxの複雑さゆえにDocker、Nix OS、"サーバーレス" などが存在するという意見:
新技術に対して当初は懐疑的だったが、考え直すと不要なレイヤーを取り除くことで得られる効率性とセキュリティ向上が魅力的だという意見:
Motor OSはDockerなどと競合しているように見えるという意見:
新しいオペレーティングシステムを始めるのは難しくないが、その後50年間そのオペレーティングシステムをサポートするのは非常に難しいという意見:
「動作しない機能たち」の項目が実にすごいですね。おもちゃのようなプロジェクト。