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. 控制台虚拟化