当前位置: 首页 > 专利查询>微软公司专利>正文

虚拟机中的分布式硬件状态管理制造技术

技术编号:5449227 阅读:236 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了管理虚拟机环境中的操作的机制。第一分区可具有对应于第二分区中的驱动程序对象的代理驱动程序对象。该驱动程序对象可控制物理设备,但是由于代理驱动程序对象,第一分区可保留对物理设备的某一控制措施。驱动程序对象可被其下的第一过滤器对象以及其上的第二过滤器对象所包围。第一过滤器对象可向驱动程序对象提供接口,使得该驱动程序对象能执行各种总线相关功能;并且,第二过滤器对象能从第一分区接收重定向指令并将这些指令提供给驱动程序对象,以及截取源自第二分区的任何指令,使得如果这些指令与第一分区中设置的策略一致,则可操纵这些指令。

【技术实现步骤摘要】
【国外来华专利技术】虚拟机中的分布式硬件状态管理祖旦 冃眾通常,输入/输出(I/O)设备并不打算由多个操作系统所共享。它们被设计为由管理这些设备所有功能方面的一个集成软件模块来控制。在控制整个物 理机器的特定操作系统中保证单个软件模块控制一个设备尤为困难。在有多个 操作系统同时运行的虚拟机环境中,这要困难得多。虚拟机环境的设计者总是面临权衡的问题。单独的操作系统可以直接控制单独的设备;或者,它们可以依赖于虚拟机层或依赖于运行在相同的机器上的 其他操作系统来获得I/0服务。在前一种情况中,涉及了对整个机器的复杂管 理,而在后一种情况中,缓慢是一个问题。因此,本专利技术所公开的主题所要解 决的一个问题是设备分配问题一换言之,如何将设备分配到模块,使得该 分配不复杂并且处理仍是快的。此外,拥有物理硬件设备的虚拟机(或者分区)可基于它们的信任关系被 进一步分解。在某些虚拟机环境中, 一个分区可以拥有一个设备但是不信任该 机器中的任何其他分区。在其他环境中, 一个分区必须相信另外一个分区,特 别是管理关于整个机器的策略的那个分区。因此,本专利技术所公开的主题所要解 决的另一个问题是设备向无特权分区的分配,其中存在管理关于整个机器的策 略的至少一个可信分区(或者虚拟机层本身中的组件)。概述本专利技术所公开的主题解决了与设备分配相关联的上述问题,尤其是在具有 可信和非特权分区的虚拟机环境的上下文中。在一个示例性但非限制性方面, 第一分区可具有对应于第二分区中的设备驱动程序对象的代理驱动程序对象, 该第一分区可以是可信主分区,而该第二分区可以是不可信次分区。次分区中 的设备驱动程序对象可控制物理设备,但是由于该设置使得代理驱动程序对象 位于主分区中,主分区可保留对物理设备的某一控制措施。因此,在本专利技术所公开的主题的一个方面,对设备状态的控制可被分开。主分区可具有对诸如设 备的开关等系统范围设备状态的控制,而次分区可保留对诸如I/O功能等更本 地设备状态的控制。在另一方面,驻留在栈上的驱动程序对象可被其下方的第一过滤器对象和 其上方的第二过滤器对象所包围。第一过滤器对象可向驱动程序对象提供接 口,使得该驱动程序对象能执行各种总线相关功能。并且,此外,第二过滤器可执行至少两个任务(l)接收来自于主分区的重定向的指令(通过代理驱动程 序对象)并将这些指令提供给次分区中的驱动程序对象,以及(2)截取源自次分区内的模块的任意指令,使得如果这些指令与主分区中设置的策略不一致,这 些指令可被替代、改变或忽视。应当注意到提供本概述以便以简化的形式介绍将在以下详细描述中进一 步描述的一些概念。本概述不旨在确定所要求保护的主题的关键特征或者必要 特征,也不旨在用于帮助确定所要求保护的主题的范围。附图说明当结合附图阅读时,可以更好地理解本专利技术的以上概述以及以下详述。为 了说明本专利技术,示出了本专利技术的各个方面。但是,本专利技术不限于所讨论的具体方面。包括以下附图图1是表示用于计算机系统中的虚拟化操作环境的硬件和软件体系结构的逻辑分层的框图2是表示虚拟化计算系统的框图,其中虚拟化由主操作系统(直接地或通过系统管理程序)执行;图3是表示一替换的虚拟化计算系统的框图,其中虚拟化由与主操作系统并排运行的虚拟机监控程序执行;图4示出用于管理虚拟机环境中的操作的一个示例性但非限制性系统; 图5示出参考图4讨论的系统的示例性但非限制性实现; 图6详细示出输入/输出请求分组(IRP)如何流过设备驱动程序栈(图4的系统的一个组件);图7示出如何处理状态改变即插即用和电源管理操作;以及图8简要示出用于产生用于管理虚拟机环境中的操作的机制的示例性但 非限制性方法。详细描述 概述本专利技术所公开的主题在解决以上背景一节中提到的问题的同时至少实现 下列各项(a)能够完成机器范围任务的可信分区(通常为父分区),该机器范 围任务诸如设备热插拔、系统睡眠或关机等;(b)可由分区或者虚拟机管理器层 自身完成的机器范围任务;(C)由不可信分区对一个或多个物理设备的控制,其 中这种控制并不导致在该机器上运行的其他软件崩溃;以及,(d)防止整个机器 被劫持,防止新设备的睡眠、关机或插入。此外,本专利技术所公开的主题能够在与物理设备相关联的父分区中截取消 息,以及将该消息重定向至子分区。在该子分区中,当为物理设备载入设备驱 动程序时,该驱动程序可由另一驱动程序来包装,该另一驱动程序截取来自子 分区的即插即用管理器或其他管理器的消息,并用对应于父分区中所做的策略 决策的消息来替换这些消息。当然,这仅仅是一个示例性而非限制性概述,与 其相关的各个其他方面也在此公开。一般意义上的虚拟机图1是表示用于计算机系统中的虚拟化环境的硬件和软件体系结构的逻 辑分层的图。在图1中,虚拟化程序110直接地或间接地在物理硬件体系结构 112上运行。虚拟化程序110可以是(a)与主操作系统并排运行的虚拟机监控程 序,或者(b)具有系统管理程序组件的主操作系统,其中系统管理程序组件执行 虚拟化。虚拟化程序110虚拟化客硬件体系结构108 (示为虚线以说明此组件 是分区或虚拟机的事实),S卩,非实际存在、而是由虚拟化程序IIO虚拟 化的硬件。客操作系统106在客硬件体系结构108上执行,且软件应用程序104 可在客操作系统106上运行。在图1的虚拟化操作环境中,即使软件应用程序 104被设计成在一般与主操作系统和硬件体系结构112不兼容的操作系统上运 行,软件应用程序104仍可在计算机系统102中运行。接着,图2示出了包括直接在物理计算机硬件202上运行的主操作系统(主8OS)软件层204的虚拟化计算系统,其中主OS 204通过展示到分区A 208和B 210的接口以分别供操作系统A 212和B 214使用,提供了对物理计算机硬件 202的资源的访问。这使得主OS 204能够不被在其上运行的操作系统层212 和214注意。并且,为了执行虚拟化,主OS 204可以是具有本机虚拟化能力 的专门设计的操作系统,或者替换地,可以是具有用来执行虚拟化的合并的系 统管理程序组件(未示出)的标准操作系统。再参考图2,在主OS 204上是两个分区,例如可以是虚拟Intel 386处理 器的分区A208、和例如可以是Motorola 680X0系列处理器之一的虚拟化版本 的分区B210。在每一分区208和210内的分别是客操作系统(客OS) A 212 和B214。在客OS A212上运行的是两个应用程序,应用程序A1 126和应用 程序A2 218,而在客OS B 214上运行的是应用程序Bl 220。关于图2,重要的是要注意到分区A 208和分区B214 (以虚线示出)是 仅作为软件构造存在的虚拟化计算机硬件表示。它们由于专门的虚拟化软件的 执行而变得可能,该专门的虚拟化软件不仅分别向客OS A 212和客OS B 214 呈现分区A 208和分区B 210,而且还执行客OS A 212和客OS B 214间接与 真实的物理计算机硬件202交互所必需的所有软件步骤。图3示出替换的虚拟化计算系统,其中虚拟化由与主操作系统204并排运 行的虚拟机监控程序(VMM)204'执行。在某些情形中,VMM204'可以是在主操 作系统204上运行并仅通过主操作系统2本文档来自技高网...

【技术保护点】
一种用于管理虚拟机环境中的操作的系统,包括: 位于第一分区中的至少一个代理驱动程序对象,其中所述至少一个代理驱动程序对象是设备的代理驱动程序; 位于第二分区内的驱动程序栈中的至少一个设备驱动程序对象,其中所述至少一个驱动程序对象 被配置为控制所述设备; 在所述驱动程序栈内的所述至少一个设备驱动程序对象下方的至少一个第一过滤器对象,其中所述至少一个第一过滤器对象向所述至少一个设备驱动程序对象呈现接口,供所述至少一个设备驱动程序对象参与包括控制所述设备在内的总线相 关功能;以及 位于所述驱动程序栈内的所述至少一个设备驱动程序对象上方的至少一个第二过滤器对象,其中所述至少一个第二过滤器对象被配置为执行以下动作的至少一个:(a)将第一指令从所述至少一个代理驱动程序对象定向到所述至少一个设备驱动程序对 象,以及(b)截取旨在发送给所述至少一个设备驱动程序对象的第二指令,其中所述第二指令源自所述第二分区。

【技术特征摘要】
【国外来华专利技术】US 2006-9-29 11/540,2111. 一种用于管理虚拟机环境中的操作的系统,包括位于第一分区中的至少一个代理驱动程序对象,其中所述至少一个代理驱动程序对象是设备的代理驱动程序;位于第二分区内的驱动程序栈中的至少一个设备驱动程序对象,其中所述至少一个驱动程序对象被配置为控制所述设备;在所述驱动程序栈内的所述至少一个设备驱动程序对象下方的至少一个第一过滤器对象,其中所述至少一个第一过滤器对象向所述至少一个设备驱动程序对象呈现接口,供所述至少一个设备驱动程序对象参与包括控制所述设备在内的总线相关功能;以及位于所述驱动程序栈内的所述至少一个设备驱动程序对象上方的至少一个第二过滤器对象,其中所述至少一个第二过滤器对象被配置为执行以下动作的至少一个(a)将第一指令从所述至少一个代理驱动程序对象定向到所述至少一个设备驱动程序对象,以及(b)截取旨在发送给所述至少一个设备驱动程序对象的第二指令,其中所述第二指令源自所述第二分区。2. 根据权利要求1所述的系统,其特征在于,还包括与所述至少一个代 理设备对象进行通信的第一分区对象,其中所述第一分区对象指示所述至少一 个代理设备对象实现至少一个状态改变事件,其中所述至少一个状态改变事件 通过所述第一指令来传送。3. 根据权利要求2所述的系统,其特征在于,所述第一分区对象是(a)即 插即用管理器对象,以及(b)电源管理对象的至少一种。4. 根据权利要求2所述的系统,其特征在于,所述至少一个状态改变事 件是系统范围事件。5. 根据权利要求1所述的系统,其特征在于,还包括通过所述第二指令 与所述至少一个第二过滤器对象进行通信的第二分区对象,其中所述第二分区 对象指示所述至少一个第二过滤器对象实现与(a)即插即用事件,以及(b)电源事 件的至少一个相关的指令。6. 根据权利要求1所述的系统,其特征在于, 一旦截取所述第二指令,所述至少一个第二过滤器对象将所述第二指令与由(a)所述第一分区,以及(b)虚拟化模块中的一个设置的至少一个策略进行比较,其中如果所述第二指令与 所述至少一个策略相冲突,则所述至少一个第二过滤器对象用与所述至少一个 策略相一致的指令来替换所述第二指令,并将其向下传到所述至少一个设备驱 动程序对象。7. 根据权利要求1所述的系统,其特征在于,如果所述至少一个设备驱 动程序对象拒绝遵守由所述第一分区设置的至少一个策略,则撤销所述至少一 个设备驱动程序对象对所述设备的控制。8. —种用于管理虚拟机环境中的操作的方法,包括在分区内构建对应于物理设备的设备栈;在所述设备栈上叠放向设备驱动程序对象呈现接口的第一过滤器对象; 在所述第一过滤器对象的顶部叠放所述设备驱动程序对象,其中所述驱动程序对象通过所述第一过滤器对象来控制所述物理设备;以及在所述设备驱动程序对象的顶部叠放第二过滤器对象,其中所述第二过滤器对象被配置为将第一组指令从所述代理驱动程序对象定向到所述设备栈,其中,所述...

【专利技术属性】
技术研发人员:AJ奥内AJ桑顿J奥辛斯
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

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

1