当前位置:首页 > 虚拟化 > 正文

虚拟化平台api开发


一、应用虚拟化和桌面虚拟化有没有开源的?提供API和开发指南的?到哪里找?多谢虚拟化
虚拟化是指计算元素在虚拟基础上而不是在真实基础上运行。虚拟化技术可以扩展硬件的容量并简化软件的重新配置过程。CPU虚拟化技术可以用单个CPU模拟多个CPU并行,允许一个平台同时运行多个操作系统,应用程序可以在独立的空间运行而不互相影响,从而显着提高计算机工作效率。
虚拟化技术与多任务和超线程技术完全不同。多任务处理是指在一个操作系统中同时并行运行多个程序。在虚拟化技术中,可以同时运行多个操作系统,每个操作系统上运行多个程序。每个操作系统都运行在虚拟CPU或虚拟主机上;而超线程技术只是用单CPU模拟双CPU,以平衡程序运行性能。两个模拟的CPU不能分开,只能一起工作。
虚拟化技术也不同于目前VMwareWorkstation等同样可以实现虚拟效果的软件。这是一个巨大的技术进步,具体体现在减少与软件虚拟机相关的开销以及支持更广泛的操作系统方面。
纯软件虚拟化解决方案有很多局限性。很多情况下,“来”操作系统通过虚拟机监视器(VirtualMachineMonitor,VMM)与硬件进行通信,VMM决定其对系统上所有虚拟机的访问权限。(请注意,大多数处理器和内存访问独立于VMM,并且仅在发生特定事件(例如页面错误)时才涉及。)在纯软件虚拟化解决方案中,VMM在软件套件中的位置传统上是操作的位置系统,这是应用程序传统上所在的位置。这个额外的通信层需要二进制转换,通过提供处理器、内存、存储、显卡、网卡等物理资源的接口来模拟硬件环境。这种转换不可避免地会增加系统的复杂性。此外,来宾操作系统支持受到虚拟机环境功能的限制,这可能会阻碍特定技术的部署,例如64位来宾操作系统。在纯软件解决方案中,软件堆栈的复杂性增加意味着这些环境难以管理,从而更难以确保系统的可靠性和安全性。
CPU虚拟化技术是一种硬件解决方案。支持虚拟化技术的CPU具有专门优化的指令集来控制虚拟进程。通过这些指令集,VMM将轻松提高性能。与软件虚拟实现相比,性能会有很大的提升。虚拟化技术提供基于芯片的功能,可以通过兼容的VMM软件改进纯软件解决方案。由于虚拟化硬件可以提供新的架构,支持操作系统直接在其上运行,不需要进行二进制转换,从而降低了相关的性能开销,大大简化了VMM设计,从而使得VMM可以按照通用标准编写,实现更好的性能。强大的。另外,在纯软件VMM中,目前缺乏对64位客户操作系统的支持。随着64位处理器的不断普及,这一严重缺点日益凸显。CPU虚拟化技术除了支持广泛的传统操作系统外,还支持64位客户操作系统。
虚拟化技术是一套解决方案。完整的情况需要CPU、主板芯片组、BIOS和软件(例如VMM软件或某些操作系统本身)的支持。即使只有CPU支持虚拟化技术,与VMM软件一起使用时,也会比完全不支持虚拟化技术的系统有更好的性能。
两大CPU巨头Intel和AMD都在竭尽全力想要在虚拟化领域占据领先地位,但AMD的虚拟化技术却落后Intel几个月。Intel自2005年底以来一直在其处理器产品线中推广IntelVirtualizationTechnology(IntelVT)虚拟化技术的应用。目前,Intel已在2017年发布了一系列采用IntelVT虚拟化技术的处理器产品,包括Pentium46X2系列、PentiumD9X0系列和PentiumEE9XX系列。桌面平台,以及CoreDuo系列和CoreSolo系列中的一些产品,以及服务器/工作站平台。XeonLV系列、Xeon5000系列、Xeon5100系列、XeonMP7000系列和Itanium29000系列;同时,英特尔大部分下一代主流处理器,包括Merom核心移动处理器、Conroe核心桌面处理器、Woodcrest核心服务器处理器以及基于Montecito核心的Itanium2高端服务器处理器都将支持IntelVT虚拟化技术。
AMD还发布了一系列支持AMDVirtualizationTechnology(AMDVT)虚拟化技术的处理器产品,包括SocketS1接口的Turion64X2系列以及SocketAM2接口的Athlon64X2系列和Athlon64FX系列等,并且绝对AMD的大部分下一代主流处理器,包括即将推出的采用SocketF接口的Opteron,都将支持AMDVT虚拟化技术。