分类: LINUX
2008-05-16 11:24:05
关于CPU虚拟化在使用上的一点理解
在CPU不支持虚拟化的年代,虚拟机都会有一个概念叫做VMM(Virtual Machine Monitor),它是虚拟机的底层支撑层,运行于host os之上,用纯软件的方式模拟了各种硬件。
当CPU支持虚拟化的时候,VMM的实现就适当简化了,一些本来需要纯软模拟的硬件本身就支持了虚拟化,VMM模拟的工作少了,再加上硬件支持虚拟化,guest os运行效率自然就提升了;但此时的VMM还是软件,需要操作系统支持。
针对CPU支持虚拟化,我层错误的认为是两个OS可以run independently,互不干涉的访问各种硬件,并可以自由切换;而实际上还得有一个host OS,在其上安装一个虚拟机软件比如vmware,在vmware里面可以装guest OS,跟传统理解上是一致的。区别在于,CPU硬件本身支持虚拟化,使虚拟机自身的VMM工作量减少,效率更高而已了,也就是说虚拟机里的os可以跑的更快了,除此以外没什么其他的surprise了。当然CPU虚拟化本身是很了不起的。
个人理解,希望能抛砖引玉^_^