安全で高速、汎用的なOSカーネル。Rustで書かれ、Linuxと互換性があります
Asterinasは、安全で高速、汎用的なOSカーネルです。 Linux互換のABIを提供し、Linuxの代替としてシームレスに動作します。 また、メモリの安全性と開発者の利便性を向上させます。
-
Asterinasは、Rustを唯一のプログラミング言語として使用し、 unsafe Rust の使用を明確に定義された最小限の信頼できるコンピューティングベース(TCB)に制限することで、 メモリの安全性を最優先します。 この革新的なアプローチは、フレームカーネルアーキテクチャとして知られ、 Asterinasをより安全で信頼性の高いカーネルオプションとして確立します。
-
Asterinasは、開発者の利便性においてもLinuxを上回ります。 カーネル開発者は、より生産性の高いRustプログラミング言語を利用し、 専用のツールキットであるOSDKを活用してワークフローを簡素化し、 MPLの柔軟性を活かして、カーネルモジュールをオープンソースとして公開するか、 プロプライエタリとして保持するかを選択できます。
生産グレードのOSカーネルへの道のりは困難を伴いますが、 私たちは目標に向かって着実に進んでいます。 現在、Asterinasはx86-64仮想マシンのみをサポートしています。 しかし、2024年の目標は、 x86-64仮想マシンでAsterinasを生産準備完了にすることです。
Dockerがインストールされたx86-64 Linuxマシンを用意してください。 以下の3つの簡単なステップに従って、Asterinasを起動します。
- 最新のソースコードをダウンロードします。
git clone https://github.com/asterinas/asterinas
- 開発環境としてDockerコンテナを実行します。
docker run -it --privileged --network=host --device=/dev/kvm -v $(pwd)/asterinas:/root/asterinas asterinas/asterinas:0.9.4
- コンテナ内でプロジェクトフォルダに移動し、Asterinasをビルドして実行します。
make build
make run
すべてが順調に進めば、Asterinasは仮想マシン内で実行されます。
プロジェクトの詳細については、The Asterinas Bookをご覧ください。
Asterinasのソースコードとドキュメントは主に Mozilla Public License (MPL), Version 2.0を使用しています。 一部のコンポーネントは、より寛容なライセンスの下で提供されています。 詳細はこちらをご覧ください。 MPLを選択した理由については、こちらをご覧ください。