英語
ACRN 虛擬機器監控程式介紹¶
ACRN 虛擬機器監控程式是一個 Type 1 虛擬機器監控程式,直接執行在裸機硬體上。它有一個特權管理虛擬機器,稱為服務虛擬機器 (Service VM),用於管理使用者虛擬機器 (User VM) 並進行 I/O 模擬。
ACRN 使用者空間是在服務虛擬機器中執行的應用程式,它根據命令列配置為使用者虛擬機器模擬裝置。ACRN 虛擬機器監控程式服務模組 (HSM) 是服務虛擬機器中的一個核心模組,它為 ACRN 使用者空間提供虛擬機器監控程式服務。
下圖顯示了其架構。
Service VM User VM
+----------------------------+ | +------------------+
| +--------------+ | | | |
| |ACRN userspace| | | | |
| +--------------+ | | | |
|-----------------ioctl------| | | | ...
|kernel space +----------+ | | | |
| | HSM | | | | Drivers |
| +----------+ | | | |
+--------------------|-------+ | +------------------+
+---------------------hypercall----------------------------------------+
| ACRN Hypervisor |
+----------------------------------------------------------------------+
| Hardware |
+----------------------------------------------------------------------+
ACRN 使用者空間為使用者虛擬機器分配記憶體,配置並初始化使用者虛擬機器使用的裝置,載入虛擬引導載入程式,初始化虛擬 CPU 狀態並處理來自使用者虛擬機器的 I/O 請求訪問。它使用 ioctl 與 HSM 通訊。HSM 透過超呼叫 (hypercall) 與 ACRN 虛擬機器監控程式互動,實現虛擬機器監控程式服務。HSM 將字元裝置介面 (/dev/acrn_hsm) 匯出到使用者空間。
ACRN 虛擬機器監控程式對任何人開放貢獻。原始碼倉庫可在 https://github.com/projectacrn/acrn-hypervisor 獲取。