バレフランク これはC ++で記述されており、C ++ STLと互換性があります。 Bareflankのモジュラーアーキテクチャ 既存のハイパーバイザー機能を簡単に拡張し、独自のハイパーバイザーバージョンを作成できます。 ハードウェア(Xenなど)と既存のソフトウェア環境(VirtualBoxなど)の両方で実行されます。 ホスト環境のオペレーティングシステムは、別の仮想マシンで実行できます。 プロジェクトコードは、LGPL2.1ライセンスの下で配布されます。
Bareflankについて
Bareflankは、64ビットのIntelおよびAMD CPUでLinux、Windows、およびUEFIをサポートします。 Intel VT-xテクノロジーは、仮想マシンリソースのハードウェア共有に使用されます。 将来的には、macOSおよびBSDシステムとの互換性、およびARM64プラットフォームで動作する機能が想定されています。
さらに、 プロジェクトは、VMMをロードするための独自のコントローラーを開発します (仮想マシンマネージャー)、 ELF充電器 VVMモジュールをロードして bfmアプリ ユーザースペースからハイパーバイザーを管理します。
Bareflankに基づいて、Boxyは、ゲストシステムの立ち上げをサポートする仮想化システムを開発しています y LinuxとUnikernelで軽量の仮想マシンを使用できるようにします 特殊なサービスまたはアプリケーションを起動します。
孤立したサービスの形で、 特別な信頼性要件を持つ通常のWebサービスおよびアプリケーションを実行できます ホスト環境の影響を受けないセキュリティ(ホスト環境は別の仮想マシンに分離されています)。 BareflankはMicroVハイパーバイザーの中心でもあり、最小限の仮想マシン(単一アプリケーション仮想マシン)を実行するように設計され、KVM APIを実装し、ミッションクリティカルなシステムの構築に適しています。
拡張機能を作成するためのツールキットが用意されています。 C ++ 11/14仕様で定義されている要素、例外スタックをアンワインド(アンワインド)するライブラリ、およびコンストラクタ/デストラクタとログハンドラ例外の使用をサポートする独自のランタイムライブラリを使用します。
として Bareflank3.0の新しいバージョンの主な革新 次の点が際立っています。
- マイクロカーネルの概念への移行。 以前は、ハイパーバイザーにはモノリシックアーキテクチャがあり、機能を拡張するには、特別なAPIを使用してコールバック呼び出しを記録する必要がありました。これにより、C ++言語とデバイス内部にバインドされるため、拡張機能の開発が困難になりました。
- 新しいマイクロカーネルアーキテクチャは、ハイパーバイザーをリングXNUMXで実行されるカーネルコンポーネントと、XNUMX番目のリング(ユーザースペース)で実行される拡張機能に分離します。 どちらの部分もVMXルートモードで実行され、ホスト環境を含むその他すべては非ルートVMXモードで実行されます。
- ユーザースペース拡張機能は、Virtual Machine Manager(VMM)機能を実装し、下位互換性のあるシステムコールを介してハイパーバイザーカーネルと対話します。 拡張機能は、すぐに使用できる拡張機能の例が提供されているRust言語の使用を含め、任意のプログラミング言語で作成できます。
- RustおよびC ++をサポートする独自のBSLライブラリの使用に移行し、外部のlibc ++およびnewlibライブラリを置き換えました。 外部の依存関係を削除することで、BareflankはWindowsにネイティブビルドサポートを実装して、このプラットフォームでの開発を簡素化することができました。
- BareflankはAMDをサポートするようになりました。 さらに、Bareflankの開発はAMD CPUを搭載したシステムで行われるようになり、その後Intel CPUに移行するため、AMDの開発が真剣に受け止められます。
- ローダーはARMv8アーキテクチャーのサポートを追加しました。そのハイパーバイザーの適応は、将来のリリースで完了する予定です。
AUTOSARおよびMISRAのミッションクリティカルなシステム設計要件への準拠。
最後に あなたがそれについてもっと知りたいなら、あなたは相談することができます 詳細は次のリンクにあります。