【技术实现步骤摘要】
本专利技术涉及计算机编程领域,尤其涉及在虚拟机环境中由第二虚拟机访问对第一虚拟机可用的主机资源。
技术介绍
虚拟计算允许每一个具有其自己的操作系统的多个虚拟机运行在主计算机上。主计算机具有允许主计算机执行虚拟机程序的指令的虚拟化器程序,虚拟机程序可具有与主计算机不同的CPU模型。主计算机虚拟化器程序也可虚拟化主机的硬件资源以供虚拟机使用。相对于主计算机,把请求诸如CPU、存储器、I/O和磁盘空间等硬件资源的虚拟机称为客机。在虚拟机中,客计算机系统仅作为一个特定硬件体系结构的操作的纯软件表示存在于主计算机系统中。术语虚拟化器、仿真器、虚拟机和处理器仿真有时候互换地使用,以表示使用本领域的技术人员已知和理解的若干方法之一来模拟或仿真整个计算机系统的硬件体系结构的能力。在主计算机的操作系统软件和硬件体系结构上执行的虚拟化器程序模拟了整个客计算机系统的操作。虚拟化器程序担当主机的硬件体系结构和由运行在仿真的客虚拟机环境中的软件(例如,操作系统、应用程序等)发送的指令之间的交换点。在一个虚拟机环境实施例中,仿真的环境可包括虚拟机监控程序(VMM),它是直接运行在主机硬件之上,可能与主机操作系统并排运行并结合主机操作系统工作的软件层,且可通过暴露与VMM正在虚拟化的硬件相同的接口来虚拟化主机的所有资源(以及某些虚拟资源)。该虚拟化使得虚拟化器(以及主计算机系统本身)能够不被运行在其上的操作系统层注意到。在虚拟机环境中,多个虚拟机对主机的硬件资源施加性能要求。期望保持虚拟机彼此分离以及与主机分离。一个虚拟机与另一个虚拟机的分离或隔离对于隔离错误和故障来说是有用的,使 ...
【技术保护点】
一种在虚拟机之间共享页的方法,所述虚拟机使用来自主计算机的资源来操作,所述方法包括:分配第一虚拟机的临时客机物理地址范围,用于在虚拟机之间共享页;接收来自第二虚拟机的、访问对所述第一虚拟机可用的页的请求,所述请求是由所述主计 算机上的虚拟化软件接收的;递增对所述页的未完成的访问的引用计数;所述引用计数指示未完成访问的数目;将所述页映射到所述第一虚拟机的临时客机物理地址范围的一部分;允许对所述第一虚拟机可用的页被所述第二虚拟机访问; 由所述第二虚拟机完成对所述页的访问,并向所述虚拟化软件通知访问完成;递减对所述页的未完成的访问的引用计数;以及如果所述引用计数为零,则从所述临时客机物理地址范围中移除所述页的映射。
【技术特征摘要】
US 2005-3-8 11/075,2191.一种在虚拟机之间共享页的方法,所述虚拟机使用来自主计算机的资源来操作,所述方法包括分配第一虚拟机的临时客机物理地址范围,用于在虚拟机之间共享页;接收来自第二虚拟机的、访问对所述第一虚拟机可用的页的请求,所述请求是由所述主计算机上的虚拟化软件接收的;递增对所述页的未完成的访问的引用计数;所述引用计数指示未完成访问的数目;将所述页映射到所述第一虚拟机的临时客机物理地址范围的一部分;允许对所述第一虚拟机可用的页被所述第二虚拟机访问;由所述第二虚拟机完成对所述页的访问,并向所述虚拟化软件通知访问完成;递减对所述页的未完成的访问的引用计数;以及如果所述引用计数为零,则从所述临时客机物理地址范围中移除所述页的映射。2.如权利要求1所述的方法,其特征在于,接收来自第二虚拟机的、访问对所述第一虚拟机可用的页的请求包括接收来自第二虚拟机的、访问被映射到第一虚拟机的页的直接存储器地址(DMA)请求。3.如权利要求1所述的方法,其特征在于,递增对所述页的未完成的访问的引用计数包括递增对DMA传输的引用计数,且所述方法还包括验证所述页的客机物理地址-主机物理地址映射有效,且DMA排除向量允许访问所述页。4.如权利要求1所述的方法,其特征在于,允许对所述第一虚拟机可用的页被所述第二虚拟机访问包括在所述第二虚拟机和某一范围的主机物理地址之间建立DMA传输。5.如权利要求1所述的方法,其特征在于,由所述第二虚拟机完成对所述页的访问并向所述虚拟化软件通知访问完成包括接收来自主机硬件的、关于DMA操作完成的指示,以及将完成消息从所述第一虚拟机发送到所述第二虚拟机,其中,所述第二虚拟机向所述虚拟化软件通知完成。6.如权利要求1所述的方法,其特征在于,递减对所述页的未完成的访问的引用计数包括设置DMA排除向量,以在所述引用计数递减到零时排除对所述页的后续DMA操作。7.如权利要求1所述的方法,其特征在于,从所述临时客机物理地址范围内移除所述页的映射还包括从阴影页表和翻译后备缓冲器的一个或多个中去除对所述页的条目的映射。8.一种用于在虚拟机之间共享页的计算机系统,所述系统包括主计算机,所述主计算机具有对多个虚拟机可用的硬件资源;虚拟化软件,所述虚拟化软件包括所述主计算机和所述多个虚拟机的任一个之间的接口;第一虚拟机和第二虚拟机,所述第一虚拟机具有对至少一个页资源的访问;所述第一虚拟机的临时客机物理地址范围,用于在虚拟机之间共享页;具有对主计算机的存储器的访问的主机处理器,所述存储器具有指令,当所述指令被执行时,执行一种方法,该方法包括接收来自所述第二虚拟机的、访问对所述第一虚拟机可用的页的请求,所述请求是由所述虚拟化软件接收的;递增对所述页的未完成的访问的引用计数;所述引用计数指示未完成的访问的数目;将所述页映射到所述临时客机物理地址范围的一部分;允许对所述第一虚拟机可用的页被所述第二虚拟机访问;向所述虚拟化软件通知访问完成;递减对所述页的未完成的访问的引用计数;以及如果所述引用计数为零,则从所述临时客机物理地址范围中移除所述页的映射。9.如权利要求8所述的系统,其特征在于,还包括翻译后备缓冲器和阴影页表中的至少一个,所述翻译后备缓冲器和阴影页表中的至少一个作为移除所述页的映射...
【专利技术属性】
技术研发人员:E特劳特,MD亨德尔,
申请(专利权)人:微软公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。