Bareflank 3.0 ハイパーバイザーのリリース

Bareflank 3.0 ハイパーバイザーがリリースされ、特殊なハイパーバイザーを迅速に開発するためのツールキットが提供されます。 Bareflank は C++ で書かれており、C++ STL をサポートしています。 Bareflank のモジュラー アーキテクチャにより、既存のハイパーバイザー機能を拡張し、ハードウェア (Xen など) 上で実行することも、既存のソフトウェア環境 (VirtualBox など) で実行することもできる独自のハイパーバイザー オプションを簡単に作成できます。 ホスト環境のオペレーティング システムを別の仮想マシンで実行することができます。 プロジェクト コードは、LGPL 2.1 ライセンスに基づいて配布されます。

Bareflank は、64 ビット Intel および AMD CPU 上の Linux、Windows、および UEFI のサポートを提供します。 Intel VT-x テクノロジーは、仮想マシン リソースのハードウェア パーティショニングに使用されます。 将来的には、macOS および BSD システムのサポートに加え、ARM64 プラットフォームでの動作も予定されています。 さらに、プロジェクトは、VMM (仮想マシン マネージャー) をロードするための独自のドライバー、VVM モジュールをロードするための ELF ローダー、およびユーザー空間からハイパーバイザーを制御するための bfm アプリケーションを開発します。 C++11/14 仕様で定義された要素を使用して拡張機能を作成するためのツールキット、例外スタック巻き戻しライブラリ (unwind)、およびコンストラクター/デストラクターの使用と例外ハンドラーの登録をサポートする独自のランタイム ライブラリが提供されます。

Bareflank に基づいて、Boxy 仮想化システムの開発が進行中です。これにより、ゲスト システムの起動がサポートされ、Linux および Unikernel を備えた軽量仮想マシンを使用して特殊なサービスやアプリケーションを実行できるようになります。 分離されたサービスの形式では、通常の Web サービスと、信頼性とセキュリティに特別な要件があるアプリケーションの両方を、ホスト環境の影響を受けることなく実行できます (ホスト環境は別の仮想マシンに分離されます)。 Bareflank は MicroV ハイパーバイザーの中心でもあり、KVM API を実装し、ミッションクリティカルなシステムの構築に適した最小限の仮想マシン (単一アプリケーション仮想マシン) を実行するように設計されています。

Bareflank 3.0 の主な革新:

  • マイクロカーネルの概念の使用への移行。 以前のハイパーバイザーはモノリシック アーキテクチャであり、機能を拡張するには、コールバック呼び出しを登録するための特別な API を使用する必要があり、C++ 言語と内部構造に結びついていたため、拡張機能の開発が困難でした。 。 新しいマイクロカーネルベースのアーキテクチャは、ハイパーバイザーを保護のゼロ リングで実行されるカーネル コンポーネントと、XNUMX 番目のリング (ユーザー空間) で実行される拡張機能に分割します。 どちらの部分も VMX ルート モードで実行され、ホスト環境を含むその他すべての部分は非ルート VMX モードで実行されます。 ユーザー空間拡張機能は、仮想マシン マネージャー (VMM) 機能を実装し、下位互換性のあるシステム コールを通じてハイパーバイザー カーネルと対話します。 拡張機能は、Rust 言語の使用を含む、任意のプログラミング言語で作成できます。
  • 私たちは、Rust と C++ をサポートする独自の BSL ライブラリの使用に切り替え、外部ライブラリ libc++ と newlib を置き換えました。 外部依存関係を削除することで、Bareflank はネイティブ Windows コンパイル サポートを実装し、このプラットフォームでの開発を簡素化できるようになりました。
  • AMD プロセッサのサポートが追加されました。 さらに、Bareflank の開発は現在、AMD CPU を搭載したシステムで実行され、その後初めて Intel CPU に移植されます。
  • ARMv8 アーキテクチャのサポートがブートローダーに追加され、ハイパーバイザーの適応は次のリリースのいずれかで完了する予定です。
  • AUTOSAR および MISRA 組織によって策定された重要なシステムの開発要件への準拠を達成しました。

出所: オープンネット.ru

コメントを追加します