<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    KVM 中 vCPU 在哪幾種模式下執行


    發現錯別字 1年前 提問
    回答
    1
    瀏覽
    218
    請勿發布不友善或者負能量的內容。與人為善,比聰明更重要!
    回答數量: 1
    風險管理(專業級)RM/PL 高級信息系統項目管理師

    KVM中vCPU在三種模式下執行:

    • 客戶模式(Guest Mode)運行GuestOS,執行Guest非IO操作指令。

    • 用戶模式(User Mode)運行QEMU,實現IO模擬與管理。

    • 內核模式(Kernel Mode)運行KVM內核,實現模式的切換(VM Exit/VM Entry),執行特權與敏感指令。

    KVM內核加載時執行VMXON指令進入VMX操作模式,VMM進入VMX Root模式,可執行VMXOFF指令退出。GuestOS執行特權或敏感指令時觸發VM Exit,系統掛起GuestOS通過VMCALL調用VMM,切換到Root模式執行,VMExit開銷是比較大的。VMM執行完成后,可執行VMLANCH或VMRESUME指令觸發VM Entry切換到Non-root模式,系統自動加載GuestOS運行。

    VMX定義了VMCS(Virtual Machine Control Structure)數據結構來記錄vCPU相關的寄存器內容與控制信息,發生VMExit或VMEntry時需要查詢和更新VMCS。VMM為每個vCPU維護一個VMCS,大小不超過4KB,存儲在內存中VMCS區域,通過VMCS指針進行管理。VMCS主要包括3部分信息,control data主要保存觸發模式切換的事件及原因;Guest state 保存Guest運行時狀態,在VM Entry時加載;Host state保存VMM運行時狀態,在VM Exit時加載。通過讀寫VMCS結構對Guest進行控制。

    回答所涉及的環境:聯想天逸510S、Windows 10。

    1年前 / 評論
    亚洲 欧美 自拍 唯美 另类