云计算技术期末复习
虚拟化技术导入
-
虚拟化架构分类
-
指令级虚拟化
虚拟机和宿主机有==不相同的指令集==,在不同架构的物理CPU上执行时,通过软件的方式翻译成对应架构的指令(意味着不同的架构都有一套对应的翻译软件),从而实现了虚拟机的跨平台执行。类似java思想。
-
缺点是:需要软件进行翻译,性能差
-
实现方式:
-
解释执行
程序一边运行,一般解释成机器码,解释结果不保存
-
静态二进制翻译
一次性翻译成机器码,并保存
-
动态二进制翻译
执行时,一段一段的翻译成机器码,并保存
-
-
-
硬件级虚拟化
对硬件环境的模拟,每个虚拟机都已自己的操作系统代码(所以很重)。
和指令级虚拟化不同的是:硬件级虚拟化考虑的情况中,虚拟机和宿主机有**相同的指令集(也不一定,Qemu通过指令翻译实现了跨平台),可以直接在宿主机上执行。针对特权指令,通过VMM进行指令的控制**。
-
分类:
-
Type 1:宿主机没有操作系统,VMM直接运行在硬件平台上,需要自己实现资源虚拟化、调度,虚拟机的管理等功能,实现复杂,例如:Xen、VMware ESXi Server
-
Type 2:宿主机有操作系统(Host OS),VMM利用Host OS的资源管理、调度、驱动等功能,性能差,例如:VMware Workstation
-
Hybrid:部分功能直接访问硬件,另一部分利用Host OS
-
-
实现方式:
- 二进制动态翻译技术
- 半虚拟化技术
- 硬件辅助虚拟化技术
-
硬件级/指令级虚拟机(结合了指令级虚拟化和硬件级虚拟化的特点)
Qemu:既利用动态二进制翻译(指令级虚拟化)实现了跨平台执行,又利用Host OS实现资源调度、管理(硬件级虚拟化)。
-
硬件级虚拟机
VMware:敏感指令处理:修改虚拟机代码,对涉及敏感指令处设置陷阱<
-
-