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

技术编号:2832033 阅读:261 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种虚拟机系统及其显卡访问方法。该方法包括:将真实显卡分配给GOS,且为所述GOS分配虚拟显卡,并加载相应的真实显卡驱动和虚拟显卡驱动;前台GOS通过真实显卡驱动访问真实显卡;后台GOS通过虚拟显卡驱动访问虚拟显卡。对于位于前台的GOS,其通过真实显卡驱动直接访问真实显卡,可以用到真实显卡的硬件加速特性,保证了显示性能;对于位于后台的GOS,其通过虚拟显卡驱动访问虚拟显卡,并由DM丢弃显卡访问数据,这样既保证了后台系统中需要访问显卡的应用程序的正常运行,又保证了不干扰前台系统的正常显示。

【技术实现步骤摘要】

本专利技术涉及计算机领域,特别是涉及。技术背景随着计算机系统的发展,虚拟化技术在计算机领域得到广泛应用。现代 计算机已经具有能力来利用虚拟化技术在一台计算机上支持多个虚拟机,并在每个虚拟机上各自运行单独的客户操作系统(GOS)。将包括有虚拟机的计算机系统称为虚拟机系统。在虚拟机系统中,各操 作系统都需要对硬件进行访问,其中对显卡的访问相对来说是一个比较复杂 的的问题,对显卡的不同使用方法是影响用户体验的一个重要因素。目前, VMWare, Virtual PC以及Xen等主流虚拟化技术所采用的方案大同小异,都 是为客户操作系统提供一个虚拟化了的显卡。该虚拟显卡是一个通用的显卡, 只能实现基本的显示功能,与真实的显卡差别很大。图l为现有技术中虚拟机系统的示意图。如图1所示,该虚拟机系统包 括虚拟机监视器(VMM)、服务操作系统(SOS)、至少一个GOS,及显卡, 其中,VMM包括通信模块,VMM通过所述通信模块和SOS及各个GOS进 行通信,SOS包括真实显卡驱动和设备模型(DM), GOS包括虚拟显卡驱动。现参照图1描述GOS对显卡的访问过程。在GOS访问显卡之前,SOS和GOS要为显卡分配资源,具体如下 SOS在启动时,扫描周边元件扩展接口 (PCI)总线,发现真实显卡,在 获取真实显卡信息后,为真实显卡分配资源,包括中断请求(IRQ)资源、 输入输出(10)资源和存储器映射输入输出(MMIO)资源,这样,SOS就 可以通过真实显卡驱动对显卡进行访问。SOS中的DM为每个GOS分配一个 虚拟显卡,GOS在启动时,扫描虚拟PCI总线,发现虚拟显卡,在获取虚拟 显卡信息后,为虚拟显卡分配资源,包括IRQ资源、IO资源、MM0资源, 这样,GOS就可以通过虚拟显卡驱动对虚拟显卡进行访问。 GOS通过虚拟显卡驱动访问虚拟显卡时,虚拟显卡驱动将GOS的显卡 访问数据通过VMM中的通信模块发送到DM; DM对显卡访问数据进行转 换后,通过真实显卡驱动发送到显卡,从而实现了GOS对显卡的访问。可以看出,GOS直接访问的是由DM提供的虚拟显卡,利用的是虚拟显 卡驱动。由于虚拟显卡只是一个通用的显卡,只能实现基本的显示功能,这 样,真实显卡的硬件加速特性无法被用户使用,不支持2D、 3D动画等功能, 显示性能很差。
技术实现思路
本专利技术的目的在于提供一种虚拟机系统。本专利技术的另一目在于提供一种虚拟机系统显卡访问方法。在本专利技术的虚拟机系统中VMM进一步包括资源转换模块,SOS进一步包括显示切换驱动,GOS 进一步包括显示切换驱动和真实显卡驱动;GOS中的真实显卡驱动用于将GOS的显卡访问数据发送到VMM中的 资源转换模块;VMM中的资源转换模块用于存储SOS为显卡分配的资源与GOS为显卡 分配的资源二者之间的对应关系,并根据所述对应关系对来自GOS的显卡访 问数据的10地址以及MMIO地址进行转换后发送到显卡;SOS中的显示切换驱动用于在接收到显示切换消息时,通过VMM中的 通信模块发送切换到前台的消息到要切换到前台的GOS中的显示切换驱动;GOS中的显示切换驱动用于在接收到包含切换到后台的指令的消息时, 启用虚拟显卡驱动,并禁用真实显卡驱动;以及在接收到SOS中的显示切换 驱动通过VMM中的通信模块发送来的切换到前台的消息时,禁用虚拟显卡 驱动,并启用真实显卡驱动-,GOS中的虚拟显卡驱动用于将GOS的显卡访问数据通过所述通信模块 发送到DM。虚拟机系统中的DM进一步用于在接收到虚拟显卡驱动通过VMM中的 通信模块发送来的显卡访问数据时,丢弃该显卡访问数据。所述VMM中的资源转换模块进一步用于接收显卡的中断请求IRQ,并 根据所存储的对应关系将所述IRQ转换为GOS的中断号后发送给GOS中的 真实显卡驱动;所述GOS中的真实显卡驱动进一步用于对所述IRQ进行相 应的处理。所述SOS中的显示切换驱动接收到的显示切换消息为外部触发的切换消 息;SOS中的显示切换驱动进一步用于通过VMM中的通信模块发送切换到 后台的消息到要切换到后台的GOS。所述GOS中的显示切换驱动接收到的包含切换到后台的指令的消息为 GOS中的应用程序发送来的显示切换消息;GOS中的显示切换驱动进一步 用于将该显示切换消息通过VMM中的通信模块发送到SOS中的显示切换驱 动。本专利技术的虚拟机系统显卡访问方法,包括将真实显卡分配给GOS,且为所述GOS分配虚拟显卡,并加载相应的 真实显卡驱动和虚拟显卡驱动;在进行显示切换时,禁用后台GOS的真实显卡驱动,并启用后台GOS 的虚拟显卡驱动,以及禁用前台GOS的虚拟显卡驱动,并启用前台GOS的 真实显卡驱动;后台GOS通过虚拟显卡驱动访问虚拟显卡,并由SOS丢弃GOS的显卡 访问数据;前台GOS通过真实显卡驱动访问真实显卡,具体为-a) 前台GOS的显卡访问数据通过真实显卡驱动发送到VMM;b) VMM根据SOS为显卡分配的资源与前台GOS为显卡分配的资源二 者之间的对应关系,对所述显卡访问数据的IO地址以及MMIO地址进行转 换后发送到显卡。进一步,在步骤b)后还包括步骤-VMM接收显卡的IRQ,根据所述对应关系将该IRQ转换为前台GOS的 中断号后发送给前台GOS中的真实显卡驱动,并由所述真实显卡驱动对所述 IRQ进行相应的处理。与现有技术相比,本专利技术的有益效果是为每个GOS分配两个显卡, 一个为真实显卡, 一个为虚拟显卡,对于位于前台的GOS,其通过真实显卡驱动直接访问真实显卡,可以用到真实显卡 的硬件加速特性,保证了显示性能;对于位于后台的GOS,其通过虚拟显卡 驱动访问虚拟显卡,并由DM丢弃显卡访问数据,这样既保证了后台系统中 需要访问显卡的应用程序的正常运行,又保证了不千扰前台系统的正常显示。 附图说明图1为现有技术中虚拟机系统的示意图; 图2为本专利技术虚拟机系统的示意图; 图3为对图2所示的虚拟机系统的改进的示意图。具体实施方式以下将结合附图对本专利技术进行详细描述。如图2所示,本专利技术的虚拟机系统包括VMM、 SOS、至少一个GOS,及 显卡,其中,VMM包括通信模块和资源转换模块,SOS包括真实显卡驱动、 DM和显示切换驱动,GOS包括真实显卡驱动、虚拟显卡驱动和显示切换驱动。其中,VMM通过所述通信模块和SOS及各个GOS进行通信。VMM通过 通信模块的中断或事件通道(EventChannel)向SOS或GOS发送数据,SOS 通过通信模块的hypercall向与VMM发送数据,GOS通过通信模块的vmcall向 VMM发送数据。GOS中的真实显卡驱动用于将GOS的显卡访问数据发送到VMM中的 资源转换模块。由于GOS对显卡的资源配置与SOS对显卡的资源配置不一致,GOS若 要直接访问真实显卡,就需要先进行资源转换,这一工作由资源转换模块来 完成。资源转换模块中存储有资源转换表,资源转换表中包括SOS为显卡分 配的资源与GOS为显卡分配的资源二者之间的对应关系,具体包括SOS和 GOS分别对显卡分配的10的对应关系和MMIO的对应关系。资源转换模块 根据资源转换表对来自GOS的显卡访问数据的IO地址以及MMIO地址进行 转换后发送到显卡。资源转换表中进一步包括SOS和GOS分别对显卡本文档来自技高网
...

【技术保护点】
一种虚拟机系统,其特征在于:虚拟机系统中的虚拟机监视器VMM进一步包括资源转换模块,服务操作系统SOS进一步包括显示切换驱动,客户操作系统GOS进一步包括显示切换驱动和真实显卡驱动;GOS中的真实显卡驱动用于将GOS的显卡访 问数据发送到VMM中的资源转换模块;VMM中的资源转换模块用于存储SOS为显卡分配的资源与GOS为显卡分配的资源二者之间的对应关系,并根据所述对应关系对来自GOS的显卡访问数据的输入输出IO地址以及存储器映射输入输出MMIO地址进行 转换后发送到显卡;SOS中的显示切换驱动用于在接收到显示切换消息时,通过VMM中的通信模块发送切换到前台的消息到要切换到前台的GOS中的显示切换驱动;GOS中的显示切换驱动用于在接收到包含切换到后台的指令的消息时,启用虚拟显 卡驱动,并禁用真实显卡驱动;以及在接收到SOS中的显示切换驱动通过VMM中的通信模块发送来的切换到前台的消息时,禁用虚拟显卡驱动,并启用真实显卡驱动。

【技术特征摘要】
1.一种虚拟机系统,其特征在于虚拟机系统中的虚拟机监视器VMM进一步包括资源转换模块,服务操作系统SOS进一步包括显示切换驱动,客户操作系统GOS进一步包括显示切换驱动和真实显卡驱动;GOS中的真实显卡驱动用于将GOS的显卡访问数据发送到VMM中的资源转换模块;VMM中的资源转换模块用于存储SOS为显卡分配的资源与GOS为显卡分配的资源二者之间的对应关系,并根据所述对应关系对来自GOS的显卡访问数据的输入输出IO地址以及存储器映射输入输出MMIO地址进行转换后发送到显卡;SOS中的显示切换驱动用于在接收到显示切换消息时,通过VMM中的通信模块发送切换到前台的消息到要切换到前台的GOS中的显示切换驱动;GOS中的显示切换驱动用于在接收到包含切换到后台的指令的消息时,启用虚拟显卡驱动,并禁用真实显卡驱动;以及在接收到SOS中的显示切换驱动通过VMM中的通信模块发送来的切换到前台的消息时,禁用虚拟显卡驱动,并启用真实显卡驱动。2. 如权利要求1所述的虚拟机系统,其特征在于 虚拟机系统中的设备模型DM进一步用于在接收到虚拟显卡驱动通过VMM中的通信模块发送来的显卡访问数据时,丢弃该显卡访问数据。3. 如权利要求1或2所述的虚拟机系统,其特征在于所述VMM中的资源转换模块进一步用于接收显卡的中断请求IRQ,并 根据所存储的对应关系将所述IRQ转换为GOS的中断号后发送给GOS中的 真实显卡驱动;所述GOS中的真实显卡驱动进一步用于对所述IRQ进行相应的处理。4. 如权利要求1或2所述的虚拟机系统,其特征在于所述SOS中的显示切换驱动接收到的显示切换消息为外部触发的切换消息; SOS中的显示切换驱动进一步用于通过VMM中的通信模块发送切换到 后台的消息到要切换到后台的G0S。5. 如权利要求1或2所述的虚拟机系统,其特征在于-所述GOS中的显示切换驱动接收到的包含切换到后台的指令的消息为 GOS中的应用程序发送来的显示切换消息;GOS中的显示切换驱动进一步用于将该显示切换消息通过VMM中的通 信模块发送到SOS中的显示切换驱动。6. 如权利要求1或2所述的虚拟机系统,其特征在于SOS进一步包括显卡寄存器保存/恢复模块,用于在接收到显卡寄存器保 存/恢复信号时,保存当前显卡寄存器的值,以及恢复由要切换到前台的GOS 对应的显卡寄存器的值;SOS中的显示切换驱动进一步用于在接收到显示切换消息时,发送显卡 寄存器保存/恢复信号到显卡寄存器保存/恢复模块。7. 如权利要求1或2所述的虚拟机...

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

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

1