2012-04-15 136 views

回答

2

如果你是新的KVM,你應該先閱讀一些報紙如何KVM模塊工作(我假定你知道虛擬化的基本概念)。如何它使用QEMU做I/O仿真等 我建議你閱讀這些論文:

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非常好。

然後,我認爲你可以跳到源代碼來了解事情是如何工作的。

乾杯

2

在x86架構,英特爾在這種情況下,大多數中斷將導致CPU VM退出,這意味着CPU的控制將返回從客人舉辦。

所以過程是

  1. CPU在VMX非根模式中使用由客戶OS。

  2. CPU知道中斷來臨。

  3. CPU的控制返回到在VMX根模式下運行的主機。 (VM出口)

  4. 主機(KVM)處理中斷。

  5. 主機執行VMLAUNCH指令讓CPU再次轉換到VMX非根模式,以便運行 客人代碼。

  6. 重複1

+0

SHORT,SWEET&PRECISE EXCELLENT – ASHU 2017-06-06 02:45:03