有没有对vmware比较熟的童鞋,请教VMWARE是如何实现CPU虚拟化的
发布网友
发布时间:2024-02-25 05:53
我来回答
共1个回答
热心网友
时间:2024-12-04 15:23
VMware利用支持CPU虚拟化功能的CPU,例如Intel-VT、AMDVT之类的,使一台计算机可以同时运行多个操作系统。简单说来,CPU的虚拟化技术就是单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提
高计算机的工作效率。虚拟化技术与多任务以及超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,则可以同时运行多个操作系统,而且
每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上;而超线程技术只是单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU
是不能分离的,只能协同工作。
CPU的虚拟化技术是一种硬件方案,支持虚拟技术的CPU带有特别优化过的指令集来控制虚拟过程,通过这些指令集,VM会很容易提高性能,相比软件的虚拟实现方式会很大程度上提高性能。虚拟化技术可提供基于芯片的功能,借助兼容VM软件能够改进纯软件解决方案。由于虚拟化硬件可提供全新的架构,支持操作系统直接在上面运行,从而无需进行二进制转换,减少了相关的性能开销,极大简化了VM设计,进而使VM能够按通用标准进行编写,性能更加强大。另外,在纯软件VM中,目前缺少对64位客户操作系统的支持,而随着64位处理器的不断普及,这一严重缺点也日益突出。而CPU的虚拟化技术除支持广泛的传统操作系统之外,还支持64位客户操作系统。虚拟化技术是一套解决方案。完整的情况需要CPU、主板芯片组、BIOS和软件的支持,例如VM软件或者某些操作系统本身。即使只是CPU支持虚拟化技术,在配合VM的软件情况下,也会比完全不支持虚拟化技术的系统有更好的性能。