Electronic Joint Business

Solution for E-Business

从虚拟化到云计算 (三) 编写自己的 VMWare

我一直认为要了解虚拟化,最好的方法是自己编写一个 VMM 应用程序。这有助于对硬件辅助虚拟化技术的深入理解。本文将离开前面两篇文章的理论论述,开始动手编写一个自己的 VMWare。1 本文将要创建的应用程序将会完成: 做好CPU 虚拟化的预备工作;创建客户机;进入并退出该客户机。为了简单起见,我们只针对 X64 模式来实现。该代码只演示了基本的 VMX 功能,也不一定兼容你手上的 CPU,你不过你可以使用 Bochs 并启用虚拟化,然后你就可以测试这些代码了。 我们先对专有名词做一下简单介绍: VMM (虚拟机监视器 — Virtual Machine Monitor) 宿主程序 VM (虚拟机 —Virtual Machine)客户机程序 根操作 (Root Operation) VMM 所执行的代码与上下文 非根操作 (Non Root Operation) VM 所执行的代码与上下文 VMX 切换: 从宿主机切换到客户机(VMEntry) 或者从客户机切换到宿主机 (VMExit) VMCS:控制 VM 和 VMX 切换的数据结构 VM Entry: 从宿主机到客户机的切换 VM Exit:由于某种原因,从客户机到宿主机的切换 VMX 操作的生命周期 VMM […]

, , , , , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.