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 獲取。