Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

KVM 基本原理與架構 (一):核心概念與術語

編輯:Linux 教學
 

關鍵術語定義

  • KVM:Kernel-based Virtual Machine,基於核心的虛擬機。
  • VMM:Virtual Machine Monitor,虛擬機監控器。在 KVM 中即 KVM 核心模組。
  • VM:Virtual Machine,虛擬機,即 Guest 機器。
  • 全虛擬化:Guest OS 完全無需修改即可運行。實現方式分為軟體輔助 (二進制翻譯 + 權限壓縮) 與硬體輔助 (Intel VT-x / AMD-V)。
  • 半虛擬化:Guest OS 需修改核心,將無法陷入的敏感指令替換為超級呼叫。

Intel VT-x 硬體虛擬化架構

VT-x 引入 VMX (Virtual Machine eXtension) 模式,包含兩種操作模式:

  • Root Mode (VMX root operation):VMM 運行於此模式。KVM 宿主機核心在 Ring 0,QEMU-KVM 等用戶態程式在 Ring 3。
  • Non-Root Mode (VMX non-root operation):Guest 運行於此模式。Guest 核心在 Ring 0,Guest 用戶態程式在 Ring 3。

兩模式各自擁有完整 Ring 0-3,硬體自動處理敏感指令截獲與模式切換。

VT-x 新增指令集

  • VMLAUNCH / VMRESUME:發起 VM-Entry,進入客體執行。
  • VMREAD / VMWRITE:讀寫 VMCS 設定虛擬機控制參數。

VM-Exit / VM-Entry

  • VM-Exit:客體執行敏感指令觸發「陷入」,CPU 自動從 Non-Root Mode 切回 Root Mode,VMM 依 VMCS 資訊處理或模擬。
  • VM-Entry:VMM 排程客體執行時發起,CPU 從 Root Mode 切入 Non-Root Mode。

VMCS (Virtual Machine Control Structure)

VT-x 引入的控制結構,用於儲存虛擬 CPU 狀態:

  • Root/Non-Root Mode 下的暫存器值。
  • VM-Exit 原因、資訊。
  • 控制 CPU 行為的參數 (如例外位圖、I/O 位圖、MSR 儲存/載入清單等)。

CPU 在 VM-Exit/VM-Entry 時自動讀寫 VMCS,VMM 亦可透過 VMREAD/VMWRITE 配置。

Copyright © Windows教程網 All Rights Reserved