原文链接
虚拟化(技术)是一种资源管理技术,是将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等),予以抽象、转换后呈现出来并可供分割、组合为一个或多个电脑配置环境。
- :程序在本地计算机执行和在虚拟机中执行应该表现出一样的结果(不包括执行时间的差异)
- :虚拟机彼此隔离,与宿主计算机隔离
- :绝大多数情况下虚拟机中的代码指令应该直接在物理CPU中执行,少部分特殊指令可由VMM参与。
I型虚拟化
II型虚拟化
图中的VMM意为Virtual Machine Monitor,虚拟机监控程序,或者用另一个更专业的名词:
HyperVisor从图中可以清楚的看到两种虚拟化方案的区别:
Type I: 直接凌驾于硬件之上,构建出多个隔离的操作系统环境
Type II: 依赖于宿主操作系统,在其上构建出多个隔离的操作系统环境
我们熟知的VMware事实上有两个产品线,一个是VMware ESXi,直接安装在裸金属之上,不需要额外的操作系统,属于第一类虚拟化。另一个是我们普通用户更加熟知的VMware WorkStation,属于第二类虚拟化。
如何实现上述的虚拟化方案呢?
一个典型的做法是——
技术
什么意思?
简单来说就是正常情况下直接把虚拟机中的代码指令放到物理的CPU上去执行,一旦执行到一些敏感指令,就触发异常,控制流程交给VMM,由VMM来进行对应的处理,以此来营造出一个虚拟的计算机环境。不过这一经典的虚拟化方案在Intel x86架构上却遇到了问题。
- 能访问的内存空间
- 能执行的特权指令
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/13941.html