一种虚拟机系统及其显卡使用方法技术方案

技术编号:2830149 阅读:1361 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种虚拟机系统及其显卡使用方法,其中该虚拟机系统的VMM中设置有一资源转换模块,用于根据资源转换表转换处于前台的GOS的显卡驱动模块和显卡之间交互的数据,并用于拦截处于后台的GOS对显卡的访问后响应其对显卡的操作;所述VMM中还设置有一切换模块,用于根据切换VM的命令更改相应VM的状态,并保存VM切换为后台前的显卡状态,并在所述VM重新切换为前台时将保存的显卡状态恢复到显卡;所述客户操作系统包括一对应于真实显卡的显卡驱动模块,用于访问真实显卡。本发明专利技术的系统和方法既能使GOS访问真实显卡,也可以在多个虚拟机之间切换显示。

【技术实现步骤摘要】

本专利技术涉及计算机领域,特别是涉及。
技术介绍
随着计算机系统的发展,虚拟化技术在计算机领域得到广泛应用。现代 计算机已经具有能力来利用虚拟化技术支持多个虚拟机,并在每个虚拟机上 各自运行单独的操作系统。在虚拟机系统中,各操作系统都需要对硬件进行访问,其中对显卡的访 问相对来说是一个比较复杂的问题,对显卡的不同使用方法是影响用户体验的一个重要因素。目前,VMWare及Virtual PC等主流虚拟化技术所采用的方 案大同小异,都是为客户操作系统(GOS)提供一个虚拟化了的显卡。该虚 拟显卡是一个通用的显卡,只能实现基本的显示功能,与真实的显卡差别很 大。图l为现有技术的虚拟机系统中显卡访问的示意图。该虚拟机系统包括 虚拟机监视器(VMM)、服务操作系统(SOS)和至少一个GOS (图1中以 l个GOS为例进行说明)。SOS启动时,扫描PCI总线,发现真实显卡,获取真实显卡信息,为本 系统分配真实显卡资源(IRQ、 10、 MMIO), SOS通过真实显卡的驱动模块 对显卡进行访问。SOS包含至少一个设备模型(DM),每个DM对应一个GOS,为GOS 提供一个虚拟显卡。GOS启动时,扫描PCI总线,其扫描操作被VMM拦截, 并转发到DM里的虚拟PCI总线,DM给该GOS注册虚拟显卡。GOS发现 虚拟显卡,获取虚拟显卡信息,为本GOS分配虚拟显卡资源(IRQ、 10、 MMIO),并保存在DM的虚拟显卡的PCI配置空间里,VMM从中获得虚拟 显卡的资源范围(中断号,各个IO段,各个MMIO段)。GOS通过虚拟显卡 的驱动模块访问虚拟显卡时,GOS在访问虚拟显卡时候,其对虚拟显卡的访问操作(IO,MMIO)被VMM拦截,VMM将访问数据发送到DM; DM对访 问数据进行转换后,发送到真实显卡的驱动模块;真实显卡的驱动模块对接 收到的数据进行处理后发送到显卡。该虚拟机系统包括一个或多个GOS,各个GOS操作系统都是通过SOS 访问显卡。所以,除了 SOS可以看到真实显卡,并利用真实显卡的驱动模块 访问显卡外,每个GOS看到的都是由DM提供的虚拟显卡,并利用虚拟显卡 的驱动模块对显卡进行访问,这样,虚拟机系统的显示是通过SOS来显示的, 不具备2D, 3D等加速特性,显卡的硬件加速特性无法被用户使用,甚至不 支持3D动画的功能,影响了显示性能。此外各GOS在显示时候,需用在GOS, SOS的DM, SOS的真实显卡的驱动模块,VMM之间来回传递数据和切换 环境,使整个系统的效率降低。
技术实现思路
本专利技术的目的在于提供,其能使GOS 访问真实显卡的同时可以在多个虚拟机之间切换显示。为了实现上述目的,本专利技术提供了一种虚拟机系统,包括服务操作系统 SOS、 一个或多个客户操作系统GOS、虚拟机监视器VMM和显卡,其中所述VMM中设置有一资源转换模块,用于根据资源转换表转换处于前 台的GOS的显卡驱动模块和显卡之间交互的数据,并用于拦截处于后台的 GOS对真实显卡的访问后响应其对显卡的操作;所述VMM中还设置有一切换模块,用于根据切换VM的命令更改相应 VM的状态,并保存VM切换为后台前的显卡状态,并在所述VM重新切换 为前台时将保存的显卡状态恢复到显卡;所述客户操作系统包括一对应于真实显卡的显卡驱动模块,用于访问真 实显卡。上述的虚拟机系统,其中,所述资源转换模块还用于根据处于后台的VM 对显卡的操作相应修改所述切换模块中保存的显卡状态数据。上述的虚拟机系统,其中,所述资源转换模块还用于抛弃处于后台的VM 对显卡的操作中不影响显卡状态寄存器的操作。上述的虚拟机系统,其中,所述VMM还包括通信模块,用于服务操作系统、客户操作系统、VMM三者之间的通信。 上述的虚拟机系统,其中,所述服务操作系统包括设备模型DM,用于为GOS提供虚拟的PCI总线或PCI—E总线,并用 于在接收到VMM转发的GOS扫描PCI总线的操作后,从真实显卡的PCI 配置空间读取真实显卡的信息,并给GOS注册包含真实显卡信息的PCI设备 或PCI—E设备。上述的虚拟机系统,其中,所述资源转换表保存在VMM的空间中,或 保存在GOS虚拟机的上下文环境中。上述的虚拟机系统,其中,所述资源转换表具体包括虚拟机号,设备 号,GuestIO段,GuestMMIO段,Guest中断号,Machine中断号,MachineIO 段,MachineMMIO段,。为了更好的实现上述目的,本专利技术还提供了一种虚拟机系统的显卡使用 方法,其中,VMM中的资源转换模块根据资源转换表转换处于前台的GOS的显卡驱 动模块和显卡之间交互的数据,同时拦截处于后台的GOS对真实显卡的访问 后响应其对显卡的操作;VMM中的切换模块根据切换VM的命令更改相应VM的状态,并保存 VM切换为后台前的显卡状态,并在所述VM重新切换为前台时将保存的显 卡状态恢复到显卡;所述客户操作系统包含对应于真实显卡的显卡驱动模块。上述的方法, 其中,所述资源转换模块还根据处于后台的VM对显卡的操作相应修改所述 切换模块中保存的显卡状态数据。上述的方法,其中,切换模块通过调用标准BIOS,执行VGABIOS,或 直接对显卡进行操作将要切换到后台的前台GOS的显卡状态保存到对应 GOS的显卡状态数据里。上述的方法,其中,切换模块通过调用标准BIOS,执行VGA BIOS,或 直接对显卡进行操作将要切换到前台的GOS的显卡状态恢复到真实显卡。上述的方法,其中,GOS处于前台还是后台通过为GOS所在的VM设 置的指定其处于前台还是后台的标识来判断。上述的方法,其中,所述资源转换表保存在VMM的空间中,或保存在 GOS虚拟机的上下文环境中。上述的方法,其中,所述资源转换表具体包括虚拟机号,设备号,GuestIO 段,GuestMMIO段,Guest中断号,Machine中断号,MachineIO段, MachineMMIO段。本专利技术的系统和方法,通过在VMM中设置有一资源转换模块,转换处 于前台的GOS的显卡驱动模块和显卡之间交互的数据,并用于拦截处于后台 的GOS对真实显卡的访问后响应其对显卡的操作,能保证同一时间只有一个 GOS能访问真实的显卡,同时,由于GOS的PCI总线(PCI-E总线)包含的是 真实显卡信息,GOS包含的是对应于真实显卡的显卡驱动程序,因此在访问 时是安装对真实显卡的方式访问,能访问真实显卡。同时,本专利技术的系统和方法,在切换时,保存切换前对应于该GOS的显 卡的状态,同时对应更新处于后台的GOS的显卡操作造成的显卡状态的变 化,因此在GOS恢复到前台后,将保存的显卡状态恢复到真实显卡上即可保 持状态的一致性,有效地解决了多虚拟机之间的切换显示的问题。 附图说明图1为现有技术的虚拟机系统中显卡访问的示意图; 图2为本专利技术的虚拟机系统的结构示意图; 具体实施例方式本专利技术的虚拟机系统包括服务操作系统sos、 一个或多个客户操作系统GOS、虚拟机监视器VMM和显卡,其中 VMM包括通信模块,分别与SOS、 GOS连接,用于SOS、 GOS、 VMM三者之间 的通信;其中VMM通过中断或事件通道(Event Channel)与SOS和GOS 通信,SOS通过hypercall与VMM通信本文档来自技高网
...

【技术保护点】
一种虚拟机系统,包括服务操作系统SOS、一个或多个客户操作系统GOS、虚拟机监视器VMM和显卡,其特征在于:所述VMM中设置有一资源转换模块,用于根据资源转换表转换处于前台的GOS的显卡驱动模块和显卡之间交互的数据,并用于拦截处于后 台的GOS对真实显卡的访问后响应其对显卡的操作;所述VMM中还设置有一切换模块,用于根据切换VM的命令更改相应VM的状态,并保存VM切换为后台前的显卡状态,并在所述VM重新切换为前台时将保存的显卡状态恢复到显卡;所述客户操作 系统包括一对应于真实显卡的显卡驱动模块,用于访问真实显卡。

【技术特征摘要】
1.一种虚拟机系统,包括服务操作系统SOS、一个或多个客户操作系统GOS、虚拟机监视器VMM和显卡,其特征在于所述VMM中设置有一资源转换模块,用于根据资源转换表转换处于前台的GOS的显卡驱动模块和显卡之间交互的数据,并用于拦截处于后台的GOS对真实显卡的访问后响应其对显卡的操作;所述VMM中还设置有一切换模块,用于根据切换VM的命令更改相应VM的状态,并保存VM切换为后台前的显卡状态,并在所述VM重新切换为前台时将保存的显卡状态恢复到显卡;所述客户操作系统包括一对应于真实显卡的显卡驱动模块,用于访问真实显卡。2. 根据权利要求1所述的虚拟机系统,其特征在于,所述资源转换模块 还用于根据处于后台的VM对显卡的操作相应修改所述切换模块中保存的显 卡状态数据。3. 根据权利要求2所述的虚拟机系统,其特征在于,所述资源转换模块 还用于抛弃处于后台的VM对显卡的操作中不影响显卡状态寄存器的操作。4. 根据权利要求l、 2或3所述的虚拟机系统,其特征在于,所述VMM 还包括通信模块,用于服务操作系统、客户操作系统、VMM三者之间的通信。5. 根据权利要求1、 2或3所述的虚拟机系统,其特征在于,所述服务 操作系统包括设备模型DM,用于为GOS提供虚拟的PCI总线或PCI—E总线,并用 于在接收到VMM转发的GOS扫描PCI总线的操作后,从真实显卡的PCI 配置空间读取真实显卡的信息,并给GOS注册包含真实显卡信息的PCI设备 或PCI—E设备。6. 根据权利要求1、 2或3所述的虚拟机系统,其特征在于,所述资源 转换表保存在VMM的空间中,或保存在GOS虚拟机的上下文环境中。7. 根据权利要求6所述的虚拟机系统,其特征在于,所述资源转换...

【专利技术属性】
技术研发人员:陈军刘永锋刘春梅
申请(专利权)人:联想北京有限公司
类型:发明
国别省市:11[中国|北京]

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

1