1

図はここから取られます。 ここに画像の説明を入力

Q1. EPT テーブルはゲスト ページ テーブルの全体のコピーを保持しているようで、4 レベルのページ テーブルになっています。あれは正しいですか?

Q2. ちょっと無駄なスペースじゃない?

Q3. EPT 違反とは正確には何ですか? つまり、ゲストは新しいゲスト仮想アドレス (gVA) にアクセスしようとしていますが、EPT テーブルにはまだレコードがないため、VMM にトラップされ、2 つの gVA および gPA エントリが EPT テーブルに追加されます。あれは正しいですか?

4

3 に答える 3

1

EPT は、ゲストの物理アドレスをホストの物理アドレスにマップします。

EPT (GPA<-->HPA のハードウェア サポート) サポートが導入される前は、ハイパーバイザーはゲスト ページ テーブル マッピング エントリのシャドウ コピーを手動で維持する必要がありました。実際のゲスト ページ テーブルのPTEエントリは低下access permissionsします。つまり、実際のアクセス許可が書き込みであった場合、読み取りまで低下します。これpage faultにより、ハイパーバイザーによってインターセプトされる が発生します。

次に、ハイパーバイザーは、対応するシャドウ ページ テーブル エントリを更新します。このプロセス全体が非常に遅いものでした。これが、GPA から HPA への変換がハードウェア自体によって行われるように EPT が導入された理由です。

では、最初の質問に答えますが、そうではありません。EPT をサポートしない OS を仮想化する場合でも、ゲスト OS のページ テーブルとは別に、追加のシャドウ ページ テーブル構造を維持する必要があります。

Q3 --Guest Virtual Address(GVA)は、ネイティブ ハードウェアで実行されている OS で行われるように、ゲスト OS のページ テーブルをトラバースすることにより、ハードウェアによって通常どおり変換されます。Guest Physical Address(GPA)この翻訳を行った後、EPT が表示されます。現在、ハードウェアは、実際に認識されているアドレスに変換GPAHPAれます。HPACPU

guest physical address(GPA)Ept 違反 VMExit は、EPTに toの既存のマッピングがない場合に発生しhost physical address(HPA)ます。これにより、VMM への vmExit が発生し、新しいマッピングが作成されます。(Ept 違反は、通常の OS のページ フォールトと同じですが、唯一の違いは、作成されるマッピングの種類です。)

于 2015-08-21T00:06:09.800 に答える