1.1 現階段成果
現階段的 Smart-VM 虛擬機監控器,已經能夠運行一個單進程的 UCOS-2.52 。
目前,我們已解決的關鍵性技術包括:
a) 實模式虛擬化
i. BIOS 虛擬化
ii. 特權指令虛擬化
b) 保護模式虛擬化
i. 實模式向保護模式跳轉
ii. 控制檯虛擬化
1.2 演示環境
a) 運行環境: bochs 2.4.1
b) 客戶操作系統: ucos-2.52 for Smart-VM
1.3 演示流程:
演示流程包括:
2. 從實模式進入保護模式;
3. 開啓虛擬內存;
4. 初始化驅動程序;
5. 從硬盤讀取 UCOS 的引導程序 ( 此時就涉及到硬盤驅動程序 ) ;
6. 激活 VMX 模式,進入 VMX 根模式;
a) 圖 8.1 : VMXON 執行成功(標誌 Eflags 的位 0 是 0 )。
圖 8 . 1 激活 VMX 模式
7. 進入 VMX 非根模式,將控制權交給 UCOS 的引導程序(此時涉及到實模式虛擬化);
a) 圖 8.2 :成功地從 VMX 根模式跳轉到 VMX 非根模式。
圖 8 . 2 第一次 VM entry
8. UCOS 通過 int 13h ,從硬盤讀取 UCOS 內核 ( 此時涉及到 BIOS 虛擬化 ) ;
a) 圖 8.3 展示了當處理器執行 int 指令的時候,直接跳轉到 VMX 非根模式下的保護模式;
b) 圖 8.4 展示了 I/O 虛擬化,當執行 out 指令的時候,就退出到 VMX 根模式;
c) 圖 8.5 :當執行完虛擬機的請求時,回到 VMX 非根模式;
圖 8 . 3 BIOS 虛擬化
圖 8 . 4 I/O 虛擬化
圖 8 . 5 同一個 VMCS, 第二次 VM entry
9. 加載全局描述符(特權指令虛擬化);
a) 圖 8.6 :執行 lgdt ,產生異常,被 VMM 捕獲,直接 VM exit
圖 8 . 6 特權級指令虛擬化
10. 跳轉到保護模式;
a) 圖 8.7 :實模式到保護模式的跳轉;
圖 8 . 7 從實模式到保護模式的跳轉
11. 運行 UCOS 內核;
a) 圖 8.8 : UCOS 的運行效果;
圖 8 . 8 UCOS 的運行效果
1.4 本章小結
現階段的 Smart-VM 虛擬機監控器,已經能夠運行一個單進程的 UCOS-2.52 。
本章主要演示了 UCOS2.52 從啓動到進入保護模式,創建進程,執行進程的過程,涉及的技術包括:
a) 實模式虛擬化
i. BIOS 虛擬化
ii. 特權指令虛擬化
a) 保護模式虛擬化
i. 實模式向保護模式跳轉
ii. 控制檯虛擬化