ハイパーバイザーとしてのQEMU動作

ハイパーバイザーとしてのQEMU動作

QEMU公式紹介によると文書:

仮想化器として使用される場合、QEMUはホストCPUで直接ゲストコードを実行して、基本に近いパフォーマンスを達成します。

私の質問は、この動作が私たちがハイパーバイザーと呼ぶプログラム(VirtualBox、KVMなど)とどう違うのですか? 「ホストCPU」でも「ゲストコード」を実行していませんか?またどこで運営しますか?

修正する:

次の図が表示された場合(源泉)が正しい場合、QEMUはハイパーバイザーなどのオペレーティングシステム全体ではなくアプリケーションを実行しますが、異なるアーキテクチャタイプ間の変換を実行することがわかりました(たとえば、ARM用に作成されたプログラムはx86で実行できます)。

ここに画像の説明を入力してください。

上記を考慮して、実行シナリオは次のとおりです。

a)特定のアーキテクチャ(ARMなど)のための完全なオペレーティングシステム

b)異なるアーキテクチャを持つホスト(例:amd64)

どちらも共存しなければならない

QEMU (アーキテクチャ間マッピングの実行)

そして

KVM(ハードウェアハイパーバイザーの役割)

あなたが必要とするか。

ベストアンサー1

引用した句は、文書の前の段落と対照する必要があります。

QEMUをマシンエミュレータとして使用すると、1台のマシン(ARMボードなど)用に作成されたオペレーティングシステムとプログラムを別のマシン(PCなど)で実行できます。動的翻訳を使用すると、非常に良いパフォーマンスを得ることができます。

ドキュメントはバイナリコード変換を含むため、低速エミュレータとして使用されるQEMUと仮想化器として使用されるQEMUの違いを強調します。

ダイアグラムで判断すると不完全です。 QEMUは汎用性があり、ゲストオペレーティングシステムを実行してシステム全体をエミュレートしたり、ゲストオペレーティングシステムを再実行してシステム全体を仮想化したり、ゲストのみを実行してホストオペレーティングシステムでCPUをエミュレートまたは仮想化するために単独で使用できます。アプリケーション。 KVM で使用されるデバイスのエミュレートにも使用できます。

おすすめ記事