谈到虚拟机就必须谈谈为什么虚拟机会出现?它解决了哪些问题。
1.虚拟机出现的原因
为了解决传统虚拟机物理资源极大浪费,且希望在一台机器上运行多个应用,且他们之间不相互影响的问题。
下面开始正式介绍虚拟机:
1.虚拟机的定义:
虚拟机:使用虚拟化技术,将一台物理机器虚拟化为多台虚拟机器(VirtualMachine,VM),每个虚拟机器都可以独立运行一个操作系统。
同义术语(其实就是虚拟机):虚拟机管理程序(Virtual Machine Monitor) => VMM
虚拟机监控程序(Hypervisor)
2.虚拟机的分类
虚拟机的分类如下图(我们学习和生活中用到第二类的比较多):
学生们常用的是第二类VMM:VirtualBox、Vware
3.两类VMM的区别:
两类虚拟机管理程序(VMM)的对比 | ||
第一类VMM | 第二类VMM | |
对物理资源的控制权 | 直接运行在硬件之上,能直接控制和分配物理资源 | 运行在Host OS之上,依赖于Host OS为其分配物理资源 |
资源分配方式 | 在安装Guest OS时,VMM要在原本的硬盘上自行分配存储空间,类似于"外核"的分配方式,分配未经抽象的物理硬件 | GvestOS 拥有自己的虚拟磁盘,该盘实际上是Host OS 文件系统中的一个大文件。GuestOS分配到的内存是虚拟内存 |
性能 | 性能更好 | 性能更差,需要HostOS作为“中介" |
可支持的虚拟机数量 | 更多,不需要和 Host OS 竞争资源,相同的硬件资源可以支持更多的虚拟机 | 更少,Host OS 本身需要使用物理资源,HostOS 上运行的其他进程也需要物理资源 |
虚拟机的可迁移性 | 更差 | 更好,只需导出虚拟机镜像文件即可迁移到另·台 HostOS 上,商业化应用更广泛 |
运行模式 | 第一类VMM运行在最高特权级(Ring0),可以执行最高特权的指令。 | 第二类VMM部分运行在用户态、部分运行在内核态。GuestOs 发出的系统调用会被 VMM 截获,并转化为 VMM 对 HostOs 的系统调用 |