2012-04-15 40 views
0

私はkvmを初めて使っています。ゲストが外部割り込みやエミュレートされたデバイス割り込みを処理するときに誰かがそのプロセスを説明できるのですか?あなたはKVMに新しいしている場合、それは、I/Oを行うにQEMUを使って.How アモスkvmのゲストが外部割り込みと外部割り込みを処理する

+0

これは、それ自体がプログラミングよりも建築/設計問題のより多くのようです。おそらくあなたは[unix.se]か[su]のどちらかでそれを尋ねる方がよいでしょうか? –

答えて

2

おかげで、あなたが最初に(私はあなたが仮想化の基本的な考え方を知っていると仮定)KVMモジュールがどのように機能するかについて、いくつかの論文を読んでくださいなどのエミュレーション 私はあなたがこれらの論文を読むことをお勧めします:

KVM:Linux仮想マシンモニタ:https://www.kernel.org/doc/mirror/ols2007v1.pdf#page=225 カーネルベースの仮想マシンのテクノロジー:http://www.fujitsu.com/downloads/MAG/vol47-3/paper18.pdf KVM:カーネル・ベースの仮想化ドライバ:http://www.linuxinsight.com/files/kvm_whitepaper.pdf

これはkvmを始めた人が書いた書類です(短いと甘い:))
この後、ソースコードのkvmの文書、特にファイルapi.txtを見てみましょう。

次に、実際にどのように動作するかを理解するためにソースコードにジャンプすることができます。

乾杯x86アーキテクチャ、この場合、インテルは

2

、ほとんどの割り込みはCPUの制御は、ゲストからホストに戻ります意味CPU VM出口を、原因となります。

のでプロセスです

  1. CPUはVMX root以外のモードでゲストOSで使用されています。

  2. CPUが割り込みを認識しています。

  3. CPUの制御がVMXルートモードで実行されているホストに戻ります。 (VM出口)

  4. ホスト(KVM)が割り込みを処理します。

  5. ホストは、 ゲストコードを実行するために、VMX非ルートモードに再度CPUを転送させるためのVMLAUNCH命令を実行しました。

  6. 繰り返し1.

+0

ショート、スウィート&プレッシャー – ASHU

関連する問題