1.一种由包括处理硬件、存储硬件和硬件设备的计算机执行的方法,所述方法包括:
提供虚拟化层,所述虚拟化层被配置为将设备直接分配给由所述虚拟化层管理的虚拟机(vm),所述虚拟化层包括管理程序,其中所述硬件设备被直接分配给vm,使得所述vm直接而不是通过所述虚拟化层访问所述硬件设备,所述vm包括访客操作系统,所述硬件设备被排他性地附接到所述访客操作系统;
由所述虚拟化层接收或者生成对所述vm执行状态操作的第一请求,所述状态操作与所述vm的执行状态有关;
在所述虚拟化层与所述vm之间建立通信通道;
通过所述通信通道将所述第一请求从所述虚拟化层传递到所述vm;以及
由所述访客操作系统通过以下来对所述第一请求进行响应:发信号通知直接附接的所述硬件设备,以在这样附接的同时与所述操作相一致地改变状态。
2.根据权利要求1所述的方法,其中所述状态操作包括挂起、保存或恢复所述vm的执行状态。
3.根据权利要求1所述的方法,其中所述通信通道在虚拟机总线上被建立,所述虚拟机总线提供vm与所述管理程序之间以及vm之间的通信通道,其中所述发信号通知在所述访客操作系统的虚拟总线设备上被执行,其中所述虚拟总线设备的通信由所述虚拟机总线传送,并且其中所述方法还包括经由所述通信通道来提供所述硬件设备的操作的成功或失败的指示,所述虚拟总线设备通过所述虚拟化层被映射到物理总线。
4.根据权利要求1所述的方法,还包括由所述虚拟化层维持指示哪些硬件设备被直接分配给哪些vm的分配信息,所述分配信息包括所述硬件设备已经被直接分配给所述vm的记录,并且其中所述第一请求根据所述分配信息中的所述记录而被引导到所述vm。
5.根据权利要求1所述的方法,其中被发信号通知到所述硬件设备的所述状态操作包括引起所述硬件设备至少部分停止执行的功率改变状态,并且其中由所述虚拟化层对所述vm执行的所述状态操作包括挂起或暂停所述vm。
6.根据权利要求5所述的方法,还包括:根据所述硬件设备的所述改变状态来保存所述硬件设备的状态,重新启动所述计算机,以及然后通过将所述硬件设备的保存的所述状态加载回所述硬件设备中来恢复所述vm的执行。
7.一种由包括处理硬件和存储硬件的计算设备执行的方法,所述方法包括:
执行管理程序,所述管理程序管理虚拟机在所述计算设备上的执行,包括硬件设备被直接分配给的虚拟机(vm),使得所述硬件设备被直接映射到所述vm,并且所述vm直接访问所述硬件设备而没有所述管理程序的介入,并且同时所述管理程序正管理所述vm在所述处理硬件和所述存储硬件上的执行;
由所述管理程序接收对暂停并且保存所述vm的状态的请求,并且作为响应,请求所述vm暂停并且保存所述硬件设备的所述状态;以及
由所述vm通过所述vm的访客操作系统直接指示所述硬件设备暂停并且保存所述硬件设备的所述状态来对暂停并且保存所述vm的所述请求进行响应。
8.根据权利要求7所述的方法,还包括通过以下来恢复所述vm:将保存的所述状态的位置从所述虚拟化层传递到所述vm和所述访客操作系统,使用所述位置将保存的所述状态加载到所述硬件设备中。
9.根据权利要求7所述的方法,其中所述虚拟化层包括第一设备驱动程序,所述访客操作系统包括第二设备驱动程序,并且其中所述请求所述vm暂停并且保存所述硬件设备的所述状态通过以下而被请求:所述第一设备驱动程序经由所述虚拟化层与所述vm之间的通信通道与所述第二设备驱动程序通信。
10.根据权利要求9所述的方法,其中所述第二设备驱动程序通过经由所述vm的虚拟总线设备向所述硬件设备发送信号来指示所述硬件设备保存所述硬件设备的状态。
11.根据权利要求9所述的方法,其中所述第二驱动程序经由所述vm的虚拟总线设备与所述硬件设备通信,所述虚拟总线设备由所述计算设备的物理总线设备支持,所述物理总线设备由所述管理程序管理。
12.根据权利要求7所述的方法,其中对暂停的所述请求包括缓冲器位置和所述硬件设备的设备标识符。
13.一种计算机,包括:
处理硬件;
硬件设备;
存储硬件,其存储用于由所述处理硬件执行的虚拟机(vm)和虚拟化层;
所述vm包括访客操作系统;
所述虚拟化层包括管理程序以及被配置为在所述vm与所述管理程序之间提供通信的通信通道,所述虚拟化层被配置为将所述硬件设备直接分配给所述vm,使得所述硬件由所述vm排他性地使用而无需通过所述管理程序,并且使得在所述硬件设备被直接分配给所述vm的同时,所述访客操作系统使用所述硬件设备而无需虚拟化抽象或者无需所述管理程序的介入;
所述虚拟化层被配置为在所述硬件设备被直接分配给所述vm的同时,通过所述通信通道向所述vm发送请求;以及
所述vm被配置为通过所述访客操作系统发信号通知直接分配的所述硬件设备暂停执行、保存所述硬件设备的状态、加载状态或者恢复执行来对所述请求进行响应。
14.根据权利要求13所述的计算机,其中所述操作系统包括与所述硬件设备通信以发信号通知所述硬件设备的硬件调度器或设备驱动程序。
15.根据权利要求13所述的计算机,其中在直接分配的所述硬件设备被暂停或被挂起的同时,所述计算机重新启动。