Hyper-V と Windows Virtual PC の比較

Hyper-V と Windows Virtual PC の比較

Windows 8 Consumer Preview を試す際に、Hyper-V をインストールしました。

それは単なる別の Windows Virtual PC のように見えました。

どう違うのか説明してもらえますか? パフォーマンスの違いはありますか? どちらか一方ではなく、もう一方を選択する理由はありますか?

答え1

どう違うのか説明してもらえますか? パフォーマンスの違いはありますか? どちらか一方ではなく、もう一方を選択する理由はありますか?

すでに他の回答で説明されているように、2 つのプロジェクトにはアーキテクチャ上の違いがいくつかあります。

大まかに言えば、Intel VT ハイパーバイザーに関しては、ハイパーバイザーをアクティブにするには、 で終わる特別な命令シーケンスを (アセンブリで) 実行しますVMXON。これにより、ハイパーバイザー モードが有効になります。

その作業の一部には、仮想マシンを拡張ページテーブルまたはAMDの同等品。これは、ページテーブル(メモリマップの場所)を設定する通常のタスクに似ていますが、仮想マシンのメモリ領域全体に対して行います。以前のVMテクノロジーは、この目的のためのVM終了本質的には、高度なハードウェア割り込みのようなものです。

これはアーキテクチャにどのような意味を持つのでしょうか? ハイパーバイザーを構築するには 2 つの選択肢があります。

  1. 仮想マシン モニターを設定し、ゲスト オペレーティング システムを待機するスタンドアロン ハイパーバイザーを構築します。通常、このハイパーバイザーには、VM を管理するのに十分な独自のオペレーティング システムが含まれているか、特権ゲストがサポートされています。たとえば、Xen ハイパーバイザーには、ハイパーバイザーを管理できる「Dom0」ゲストが含まれています。

  2. ハイパーバイザーを既存のカーネルの一部として、たとえばカーネル モジュールとして構築します。コードは、オペレーティング システムの存続期間中いつでも Intel VT の仮想マシン モニターとしてインストールでき (十分な権限がある場合)、削除することもできます。そのため、ハイパーバイザー コードは、必要に応じてメモリ内に必要なスペースを設定するだけです。

実際には、エンド ユーザーにとっての違いは、最初の種類のハイパーバイザーの場合、再起動しないとアンロードできないことです。これは、ハイパーバイザーがそれ自体でオペレーティング システムのように動作するためです。Hyper-V は次のように動作します。たとえば、Hyper-V がインストールされている場合は、VirtualBox をインストールすることはできません。これは、両方が仮想マシン モニター領域を共有できないためです (Hyper-V に既に存在するため)。ハイパーバイザーをアンロードするには、再起動する必要があります。

つまり、簡単に言えば、Hyper-V がインストールされている場合、VM が実行されていなくても、他の仮想化製品を使用することはできません。Virtual PC の場合はそうではありません。

さて、パフォーマンスです。Intel VT のようなシステムでは、OS を最初にロードするかハイパーバイザーを最初にロードするかは、パフォーマンス面ではほとんど違いがありません。これは、これが CPU にバインドされた領域にすぎず、CPU ハードウェア支援仮想化をすでに使用している場合は、とにかく最速になるためです。

パフォーマンスの面では、仮想化の違いは次のような技術から生じます。準仮想化およびの使用IOMM/DMA 再マッピングつまり、OS のメモリ/CPU の構成順序は、ハードディスクやグラフィック カードなどを効率的に仮想化できるかどうかほど大きな違いを生みません。

それはとてもこのブログ投稿Hyper-V は過去に、グラフィックやサウンドなど、コンシューマータイプの仮想化に関する問題を抱えていました。私はこれらの機能を必要とする Hyper-V を実行したことがないので、まだ問題があるかどうかはコメントできませんが、調査する価値はあるかもしれません。

答え2

Hyper VはWindows Virtual PCよりも優れたパフォーマンスを提供します

http://en.wikipedia.org/wiki/ハイパーバイザー

ロバート・P・ゴールドバーグはハイパーバイザーを2つのタイプに分類しています:[5]

タイプ 1 (またはネイティブ、ベアメタル) ハイパーバイザーは、ホストのハードウェア上で直接実行され、ハードウェアを制御し、ゲスト オペレーティング システムを管理します。したがって、ゲスト オペレーティング システムはハイパーバイザーの上の別のレベルで実行されます。

このモデルは、仮想マシン アーキテクチャの典型的な実装を表しています。オリジナルのハイパーバイザーは、テスト ツール、SIMMON、および CP/CMS で、どちらも 1960 年代に IBM で開発されました。CP/CMS は、IBM の z/VM の先祖です。これの現代版は、Citrix XenServer、VMware ESX/ESXi、および Microsoft Hyper-V ハイパーバイザーです。

タイプ 2 (またはホスト型) ハイパーバイザーは、従来のオペレーティング システム環境内で実行されます。ハイパーバイザー レイヤーは別個の 2 番目のソフトウェア レベルとして機能し、ゲスト オペレーティング システムはハードウェアの上の 3 番目のレベルで実行されます。KVM、BHyVe、VirtualBox はタイプ 2 ハイパーバイザーの例です。

Wikipediaでわかりやすく説明されている

関連情報