当前位置: 首页 > 专利查询>EP特罗特专利>正文

用于虚拟机环境中的仿真设备的开发的系统和方法技术方案

技术编号:2856819 阅读:193 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种适用于向虚拟计算环境动态地添加虚拟设备的装置。本发明专利技术所讨论的系统包括具有清单的虚拟化计算系统,该清单还包括设备列表和外部设备目录,所述外部设备目录为所述虚拟化计算系统的用户提供了用于添加软件插件的目录,所述软件插件包含将虚拟设备添加到虚拟计算环境中所需的规范。某些实施例特别地涉及提供添加和配置虚拟设备的方法。某些实施例特别地涉及提供运行虚拟化计算系统的方法,其中主机操作系统和所述虚拟设备经过一系列的状态,具体包括:初始化、加电、加载被存储的状态、以正常状态运行、保存状态以便将来恢复、断电、以及卸下和关闭。

【技术实现步骤摘要】

本专利技术一般涉及虚拟机(也被称为“处理器虚拟化”)以及在虚拟机环境中运行软件领域。尤其是,本专利技术涉及适用于开发和使用仿真物理设备行为的虚拟设备的系统和方法。
技术介绍
计算机包括被设计成执行特定的系统指令集的通用中央处理单元(CPU)。具有类似的体系结构或设计规范的一组处理器被认为是同一处理器家族的成员。当前的处理器家族的示例包括由亚利桑那州菲尼克斯市的Motorola公司生产的Motorola 680X0处理器家族;由加利福尼亚州桑尼维尔市的Intel公司生产的Intel 80X86处理器家族;以及由Motorola公司生产的,并在由加利福尼亚州库珀蒂诺市的Apple计算机公司生产的计算机中使用的PowerPC处理器家族。尽管一组处理器由于其类似的体系结构和设计考虑可处于同一家族中,然而根据其时钟速度和其它参数性能,家族中的处理器也会有很大的不同。每一微处理器家族执行对该处理器家族唯一的指令。处理器或处理器家族可执行的一组集体的指令被称为处理器的指令集。作为一个示例,由Intel 80X86处理器家族使用的指令集与由PowerPC处理器家族使用的指令集不兼容。Inter 80X86指令集基于复杂指令集计算机(CISC)格式。Motorola Power PC指令集基于精简指令集计算机(RISC)格式。CISC处理器使用大量的指令,其中一些可执行相当复杂的功能,但是它一般需要许多时钟周期来执行。RISC处理器使用较少数量的可用指令,来执行以更高的速率执行的一组较简单的功能。处理器家族在计算机系统之中的唯一性通常导致计算机系统的硬件体系结构的其它元件之间的不兼容性。用来自Intel 80X86处理器家族的处理器制造的计算机系统具有与用来自PowerPC处理器家族的处理器制造的计算机系统的硬件体系结构不同的硬件体系结构。由于处理器指令集以及计算机系统的硬件体系结构的唯一性,应用软件程序通常被书写成在运行特定操作系统的特定计算机系统上运行。计算机制造商希望通过令更多而不是更少的应用程序运行在与计算机制造商的产品线相关联的微处理器家族上来将其市场份额最大化。为扩展可运行在计算机系统上的操作系统和应用程序的数量,开发了一种
,其中,称为主机的具有一种类型CPU的给定计算机将包括一仿真器程序,它允许主机计算机仿真一种称为访客的CPU的不相关类型指令。由此,主机计算机将执行促使一个或多个主机指令响应于给定访客指令而被调用的应用程序。由此,主机计算机可运行为其自己的硬件体系结构设计的软件和为具有不相关硬件体系结构的计算机书写的软件两者。作为一个更具体的示例,例如,由Apple计算机制造的计算机系统可运行为基于PC的计算机系统书写的操作系统和程序。也可能使用一仿真器程序以在单个CPU上并发地操作多个不兼容的操作系统。在这一装置中,尽管每一操作系统与其它操作系统不兼容,但是仿真器程序可主宿两个操作系统之一,从而允许不兼容的操作系统在同一计算机系统上并发地运行。当在主机计算机系统上仿真访客计算机系统时,访客计算机系统被称为“虚拟机”,因为访客计算机系统仅作为一种特定硬件体系结构的纯软件表示存在于主机计算机系统中。术语仿真器、虚拟机和处理器仿真有时可互换地使用,以表示模仿或仿真一个完整的计算机系统的硬件体系结构的能力。作为一个示例,由加利福尼亚州圣马特奥市的Connectix公司创建的Virtual PC软件仿真包括Intel 80X86 Pentium处理器和各种主板组件和卡的整个计算机。这些组件的操作在运行于主机上的虚拟机中仿真。在诸如具有PowerPC处理器的计算机系统等主机计算机的操作系统软件和硬件体系结构上执行的仿真器程序模仿整个访客计算机系统的操作。仿真器程序担当主机机器的硬件体系结构和由运行在被仿真的环境中的软件发送的指令之间的交换点。该仿真器程序可以是一主机操作系统(HOS),它是直接运行在物理计算机硬件上的操作系统。或者,被仿真的环境也可以是虚拟机监控程序(VMM),它是一软件层,其直接运行在硬件之上,并通过展示与VMM正在虚拟化(允许VMM不被其上运行的操作系统层注意)的硬件相同的接口来虚拟化该机器的所有资源。主机操作系统和VMM可在同一物理硬件上并排运行。虚拟设备是用软件实现的逻辑设备,它相应于某种类型的实际的或理想化的物理设备。一般地,有两种用于模仿虚拟设备的方法“硬件虚拟设备”方法,它可直接模仿现有的一种硬件;以及“理想化虚拟设备”方法,它不是物理硬件的单纯映像,而是对虚拟机(VM)环境的优化。硬件虚拟设备的方法提供了兼容性方面的优点;由于在各个方面虚拟设备就像真实的设备一样运行,所以被设计为与设备交互的软件(例如,驱动)可将在不修改的情况下工作于硬件虚拟设备。然而,硬件虚拟设备在性能方面有缺点,在不造成明显的负载开销(以及低效率)的情况下,常常难以用虚拟设备来仿真物理硬件,因为硬件设计者一般不考虑虚拟化问题,并且因此,硬件虚拟设备常常明显地慢于它们的真实的硬件相对物。另一方面,理想化虚拟设备为开发者提供极大的自由度,以便设计容易实现并且能高效使用的虚拟设备。由于理想化虚拟设备的设计不需要遵守由物理硬件设计能强加的限制,所以理想化虚拟设备可以进行优化以便在VM环境内使用。还有,理想化虚拟设备的开发者自己不需要关心难以理解的副作用(例如,时序和状态改变),现有软件可能依赖这些副作用进行正确的操作。还有,开发者还可以创建这样的理想化虚拟设备,所述理想化虚拟设备可模拟事实上并不存在的硬件,例如,允许在访客系统和主机系统之间进行通信的虚拟设备。然而,当使用理想化虚拟设备的方法时,由于所述虚拟设备事实上可能不会在各个方面完全与真实设备一样地操作,所以存在可能引发兼容性问题的风险,并且可设计为与物理设备交互的软件(例如,驱动)在不被修改的情况下,可能不能正确地或者根本不能工作于理想化虚拟设备。目前,可以用在虚拟机中的虚拟设备(理想化的或硬件)组是在编写该虚拟机软件时预先确定的,并且当前的虚拟机产品不包括用于添加新的虚拟设备的装置。这意味着设备的数量和种类限定为虚拟机软件中所包含的那些数量和种类。由于技术的改进和设备(物理的和虚拟的)的数量不断增加,所以能够将新的虚拟设备添加到虚拟机软件的能力已经变得更加关键。需要一种方法来根据需要在虚拟机环境中动态地添加新的虚拟设备。除了虚拟机环境的需要之外,一般也需要可以将新的虚拟设备添加到系统以便支持硬件的开发以及用于该硬件的软件驱动的开发的手段。对于新的硬件,需要质量测试以便发现并消除新的硬件设备中的缺陷和不曾预料的错误。一般地,这种类型的测试方法是等待,直到已经设计了硬件设备并且已经制造了原型之后为止。然而,这种设计-原型-测试的过程效率很低,如果在测试期间发现错误,则该过程就要再次从开头开始,并且因此导致开发新设备的周期很长。需要一种方法来减少物理设备产品上市所需的时间。类似地,就物理硬件设备而言,无论旧的还是新的,进行新的设备驱动程序软件的完整检测都是最耗时的,并且在一些情况下,很难或者甚至不可能完成,因为很难以及时而有效的方式引发物理硬件设备产生多种错误以便由设备驱动程序处理。结果是,软件驱动中的驱动代码的许多路径不能全部运行,因为在其上本文档来自技高网
...

【技术保护点】
一种用于虚拟计算环境动态地添加虚拟硬件设备的方法,所述方法包括:所述虚拟计算环境扫描外部服务目录;所述虚拟计算环境采集一组用于新的虚拟硬件设备的设备属性;所述虚拟计算环境向运行在所述虚拟计算环境中的虚拟机呈现所述设备 属性组;以及所述虚拟机使用所述新的虚拟硬件设备。

【技术特征摘要】
US 2004-6-30 10/883,6201.一种用于虚拟计算环境动态地添加虚拟硬件设备的方法,所述方法包括所述虚拟计算环境扫描外部服务目录;所述虚拟计算环境采集一组用于新的虚拟硬件设备的设备属性;所述虚拟计算环境向运行在所述虚拟计算环境中的虚拟机呈现所述设备属性组;以及所述虚拟机使用所述新的虚拟硬件设备。2.如权利要求1所述的方法,其特征在于,所述虚拟计算环境从外部设备目录采集所述的设备属性组。3.如权利要求2所述的方法,其特征在于,所述虚拟计算环境通过将所述的设备属性组添加到对应于所述虚拟机的虚拟计算环境的设备列表,向所述虚拟机呈现出所述设备属性组。4.一种用于测试物理硬件设备(PHD)的设计的方法,所述方法包括基于所述PHD的设计实现虚拟硬件设备(VH);开发用于测试所述VHD的测试设备驱动程序(TDD);将所述VHD和所述TDD添加到虚拟计算环境(VCE)中;使用所述VCE中的TDD来测试所述的VHD。5.如权利要求4所述的方法,其特征在于,还包括制作对应于在所述VCE中用所述TDD测试的VHD的PHD的原型;以及使用所述TDD测试所述PHD的原型。6.如权利要求4所述的方法,其特征在于,所述虚拟计算环境动态地添加所述的VHD。7.如权利要求6所述的方法,其特征在于,所述虚拟计算环境动态地添加所述VHD的要素包括所述虚拟计算环境扫描外部服务目录;所述虚拟计算环境采集一组用于新的虚拟硬件设备的设备属性;所述虚拟计算环境向运行于所述虚拟计算环境中的虚拟机呈现出所述的设备属性组;以及所述虚拟机使用所述新的虚拟硬件设备。8.一种用于测试设备驱动程序(DD)的设计的方法,所述方法包括开发用于测试所述DD的虚拟测试硬件设备(VTHD);将所述VTHD和所述DD添加到虚拟计算环境(VCE)中;使用所述VCE中的所述VTHD来测试所述DD。9.如权利要求8所述的方法,其特征在于,还包括制作所述VTHD的原型硬件设备,在所述VCE内在所述VTHD上测试所述DD;以及在所述原型硬件设备上测试所述DD。10.如权利要求8所述的方法,其特征在于,所述虚拟计算环境动态地添加所述VHD。11.如权利要求8所述的方法,其特征在于,所述虚拟计算环境动态地添加所述VHD的要素包括所述虚拟计算环境扫描外部服务目录;所述虚拟计算环境采集一组用于新的虚拟硬件设备的设备属性;所述虚拟计算环境向运行于所述虚拟计算环境中的虚拟机呈现出所述的设备属性组;以及所述虚拟机使用所述新的虚拟硬件设备。12.一种用于虚拟计算环境动态地添加虚拟硬件设备的系统,所述系统包括用于所述虚拟计算环境扫描外部服务目录的子系统;用于所述虚拟计算环境采集一组用于新的虚拟硬件设备的设备属性的子系统;用于所述虚拟计算环境向运行于所述虚拟计算环境中的虚拟机呈现所述设备属性组的子系统;以及用于所述虚拟机使用所述新的虚拟硬件设备所述子系统。13.如权利要求12所述的系统,其特征在于,所述用于所述虚拟计算环境采集一组用于新的虚拟硬件设备的设备属性的子系统从外部设备目录采集所述设备属性组。14.如权利要求13所述的系统,其特征在于,所述用于所述虚拟计算环境向运行于所述虚拟计算环境中的虚拟机呈现所述设备属性组的子系统通过将所述的设备属性组添加到对应于所述虚拟机的虚拟计算环境的设备列表向所述虚拟机呈现所述的设备属性组。15.一种用于测试物理硬件设备(PHD)的设计的系统,所述系统包括用于基于所述PHD的设计实现虚拟硬件设备(VHD)的子系统;用于开发测试所述VHD所需的测试设备驱动程序(TDD)的子系统;用于将所述VHD和所述TDD添加到虚拟计算环境中(VCE)的子系统;用于在所述VCE中使用所述TDD测试所述的VHD的子系统。16.如权利要求15所述的系统,其特征在于,还包括用于制作对应于可在所述VCE中用所述TDD来测试VHD的PHD的原型的子系统;以及用于使用所述TDD测试所述PHD的原型的子系统。17.如权利要求15所述的系统,其特征在于,所述虚拟计算环境还包括用于动态地添加所述的VHD的子系统。18.如权利要求17所述的系统,其特征在于,用于动态地添加VHD的所述子系统包括用于所述虚拟计算环境扫描外部服务目录的子系统;用于所述虚拟计算环境采集一组用于新的虚拟硬件设备的设备属性的子系统;用于所述虚拟计算环境向运行于所述虚拟计算环境中的虚拟机呈现所述的设备属性组的子系统;以及用于所述虚拟机使用所述新的虚拟硬件设备的子系统。19.一种用于测试设备驱动程序(DD)的设计的系统,所述系统包括用于开发测试所述DD所需的虚拟测试硬件设备(VTHD)的子系统;用于将所述VTHD和所述DD添加到虚拟计算环境(VCE)中的子系统;用于在所述VCE中使用所述VTHD测试所述DD的子系统。20.如权利要求19所述的系统,其特征在于,还包括用于制作所述VTHD的原型硬件设备的子系统,在所述VCE内在所述VTHD上测试所述的DD;以及用于在所述的原型硬件设备上测试所述DD的子系统。21.如权利要求19所述的系统,其特征在于,所述虚拟计算环境还包括用于动态地添加所述的VHD的子系统。22.如权利要求21所述的系统,其特征在于,所述用于动态地添加所述VHD的子系统包括用于所述虚拟计算环境扫描外部服务目录的子系统;用于所述虚拟计算环境采集一组用于新的虚拟硬件设备的设备属性的子系统;用于所述虚拟计算环境向运行于所述虚拟计算环境中的虚拟机呈现所...

【专利技术属性】
技术研发人员:EP特罗特瑞内安东西尼奥维加
申请(专利权)人:EP特罗特瑞内安东西尼奥维加
类型:发明
国别省市:US[美国]

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1