CN101477510A - 在多操作系统中共享显示卡的方法和计算机系统 - Google Patents

在多操作系统中共享显示卡的方法和计算机系统 Download PDF

Info

Publication number
CN101477510A
CN101477510A CN 200810055938 CN200810055938A CN101477510A CN 101477510 A CN101477510 A CN 101477510A CN 200810055938 CN200810055938 CN 200810055938 CN 200810055938 A CN200810055938 A CN 200810055938A CN 101477510 A CN101477510 A CN 101477510A
Authority
CN
China
Prior art keywords
operating system
client operating
video memory
demonstration
control register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200810055938
Other languages
English (en)
Other versions
CN101477510B (zh
Inventor
王碧波
刘永锋
刘春梅
陈军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN 200810055938 priority Critical patent/CN101477510B/zh
Priority to US12/343,768 priority patent/US8924962B2/en
Publication of CN101477510A publication Critical patent/CN101477510A/zh
Application granted granted Critical
Publication of CN101477510B publication Critical patent/CN101477510B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/06Use of more than one graphics processor to process data before displaying to one or more screens

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本发明提供了在多操作系统中共享显示卡的方法和计算机系统。其中,所述方法包括:检测到有第一客户操作系统需要被显示,所述第一客户操作系统属于所述主客户操作系统和至少一个次客户操作系统中的一个客户操作系统;对第一客户操作系统进行判断,根据第一客户操作系统是主、次主客户操作系统,为其分配不同的相应的显示控制寄存器组和显存资源;控制第一客户操作系统的显示控制寄存器组与显示输出端口连接;根据第一客户操作系统所分配的显存资源获取显示内容;根据与显示输出端口连接的显示控制寄存器组中显示模式参数,对显示内容进行显示。按照本发明,无需修改主客户操作系统的驱动程序,即可实现在多操作系统中共享显示卡。

Description

在多操作系统中共享显示卡的方法和计算机系统
技术领域
本发明涉及一种显示卡设备的共享技术,具体涉及一种在多操作系统中共享显示卡的方法和计算机系统。
背景技术
使用虚拟化技术可以在同一硬件平台上同时运行多个客户操作系统(GOS,Guest Operation System)。多个客户操作系统的显示内容可以通过一张显示卡设备输出至外部的显示装置进行显示,也就是说,多操作系统通过共享显示卡设备来实现各自的显示。
虚拟化领域的传统技术是让客户操作系统都使用虚拟显示卡,只有一个宿主操作系统使用物理显示卡设备。这种方法的缺点是客户操作系统的显示性能特别差,并且很多加速特性都不支持。
新的技术可以让客户操作系统直接使用物理显示卡设备,但其代价是只有一个客户操作系统可以有显示输出,其他操作系统无法通过显示卡来输出。
为了解决这种问题,开始逐渐出现了一些多客户操作系统都直接操作物理显示卡设备,但是通过某种方式使之可以串行操作的技术。这些技术中较典型的实现方法是:显存分离+寄存器模拟方式。让各OS使用不同的显存资源,并且各OS都有自己的一套模拟寄存器,当某个OS需要在前台显示时,则将其寄存器值写入真实设备,以实现对该OS的显示。
上述方法的缺点在于:由于各OS所使用的显存资源是完全分离的,因此,需要对各OS的显示卡的设备驱动程序进行修改,修改工作量较大。同时,由于当今显示卡寄存器非常复杂,要模拟所有寄存器十分困难,工程化难度大。后台OS在使用模拟的寄存器时,如果模拟不当,便会导致显示卡出错,甚至导致系统崩溃。
发明内容
本发明实施例的目的是提供一种在多操作系统中共享显示卡的方法和计算机系统,无需修改所有操作系统的设备驱动程序,即可实现在多操作系统中共享显示卡。
为了实现上述目的,本发明的一个实施例提供一种在多操作系统中共享显示卡的方法,所述多操作系统包括一个主客户操作系统和至少一个次客户操作系统,所述方法包括:
检测到有第一客户操作系统需要被显示,所述第一客户操作系统属于所述主客户操作系统和至少一个次客户操作系统中的一个客户操作系统;
对所述第一客户操作系统进行判断:当所述第一客户操作系统是所述主客户操作系统时,为所述第一客户操作系统分配显示卡的所有显示控制寄存器组和所有显存资源;当所述第一客户操作系统是所述次客户操作系统时,为所述第一客户操作系统分配一组显示控制寄存器组和所有显存资源中的部分显存资源;
控制为所述第一客户操作系统所分配的显示控制寄存器组与显示输出端口连接;
根据为所述第一客户操作系统所分配的显存资源获取所述第一客户操作系统的显示内容;
根据与所述显示输出端口连接的显示控制寄存器组中显示模式参数,对所述显示内容进行显示。
本发明的实施例还提供了一种计算机系统,包括:
一个主客户操作系统和至少一个次客户操作系统;
虚拟机管理器,每一所述一个主客户操作系统和至少一个次客户操作系统与所述虚拟机管理器连接;
显示卡,所述显示卡包括至少两个显示控制寄存器组;
所述主客户操作系统与显示卡的所有显示控制寄存器组和所有显存资源相对应,每一所述至少一个次客户操作系统与显示卡的其中一组显示控制寄存器组和部分显存资源相对应;
显示输出端口;
切换控制单元,在检测到有第一客户操作系统需要被显示时,使所述第一客户操作系统与所述显示输出端口连接,所述第一客户操作系统属于所述一个主客户操作系统和至少一个次客户操作系统中的一个客户操作系统;
其中,通过所述显示输出端口对所述第一客户操作系统进行显示。
本发明的一个或多个实施例至少具有以下有益效果:
只需修改次客户操作系统的驱动程序,不需要修改主客户操作系统的驱动程序,并且,无需模拟或只需要模拟小部分显示卡的寄存器,即可实现对显示卡的共享访问操作;在切换当前显示的客户操作系统之前,对该客户操作系统相关的显示模式参数、显示输出设置参数及显存映射关系进行保存,以便于在重新切换回该客户操作系统时,简便、快速的恢复该客户操作系统的原先的显示状态;在显示控制寄存器组的数目少于客户操作系统时,通过客户操作系统模拟显示卡,为其他客户操作系统提供对显示卡的访问操作;当次客户操作系统在前台显示时,拦截并模拟其他客户操作系统对该次客户操作系统的显示卡资源的访问操作,从而提供了次客户操作系统显示的可靠性。
附图说明
图1为本发明第一实施例的计算机系统的结构示意图;
图2为本发明第一实施例所述在多操作系统中共享显示卡的方法的流程图;
图3为本发明第二实施例的计算机系统的结构示意图;
图4为本发明第三实施例的计算机系统的结构示意图。
具体实施方式
本发明实施例的在多操作系统中共享显示卡的方法和计算机系统,不是让多个虚拟操作系统使用虚拟显卡,而是实现多个虚拟操作系统都使用物理显卡。
本发明实施例将客户操作系统分为一个主客户操作系统和至少一个次客户操作系统。主客户操作系统使用显示卡本身具有所有显示通道(DisplayPipe)和显存资源,次客户操作系统使用显示卡的其中一个显示通道和部分显存资源,从而实现多个虚拟的客户操作系统共享物理显示卡设备。这里,所述显示通道是显示卡中的一组显示控制寄存器组,其中保存有显示模式参数信息所述显示模式参数包括分辨率、刷新率、色深(Color Depth)、显示内容所使用的显存信息等。本发明实施例中显示卡包括至少两组显示控制寄存器组。
下面结合附图对本发明不同的实施例进行进一步详细说明。
<第一实施例>
如图1所示,本发明第一实施例的计算机系统包括一主客户操作系统201、一次客户操作系统202、虚拟机管理器100和显示卡000。其中,主客户操作系统201包括设备驱动单元2011;次客户操作系统202包括设备驱动单元2021;主客户操作系统201和次客户操作系统202属于第一类客户操作系统,所述第一类客户操作系统为直接访问显示卡000的客户操作系统。虚拟机管理器100包括切换控制单元101和通信单元102;显示卡000包括两个显示控制寄存器组031和032,还包括有显示输出单元和显存040。所述显示输出单元具体包括一个显示输出端口010和一个选择寄存器020。各客户操作系统运行在虚拟机管理器100之上,所述通信单元102提供各客户操作系统之间以及客户操作系统与硬件设备(如显示卡)之间的通信。
这里,主客户操作系统201可以使用显示卡的所有资源,包括所有的显示控制寄存器组和所有显存资源,因此,对于主客户操作系统201来说,无需修改其显示卡的设备驱动程序。次客户操作系统202只使用显示卡的其中一组显示控制寄存器组和部分显存资源,因此,需要修改次客户操作系统202的显示卡的设备驱动程序,为其配置相应的显示控制寄存器组和显存资源信息。
设备驱动单元2011,用于保存为本客户操作系统配置的显示卡的所有显示控制寄存器组和所有显存资源的配置信息,并根据本客户操作系统的所述配置信息提供本客户操作系统对显示卡的访问。这里,主客户操作系统201可以使用显示控制寄存器组031和032,以及显存040的所有资源。
设备驱动单元2021,用于保存为本客户操作系统配置的显示卡的一组显示控制寄存器组和部分显存资源的配置信息,并根据本客户操作系统的所述配置信息提供本客户操作系统对显示卡的访问。这里,次客户操作系统202只能使用显示控制寄存器组032和显存040中的显存段0401。在显存段0401的选取上,最好选择显存040中主客户操作系统201使用较少,且即使使用也只是用于存放显示数据的部分。
切换控制单元101,用于保存为各客户操作系统配置的显存资源和显示控制寄存器组的全部或部分配置信息,并根据所述配置信息,确定将要显示的客户操作系统的显存资源和显示控制寄存器组信息。这里,所述切换控制单元101可以设置在虚拟机管理器100中,还可以设置在客户操作系统中。
显示输出单元,用于根据所述切换控制单元101确定的显存资源和显示控制寄存器组信息,分别获取所述将要显示的客户操作系统的显示内容和显示模式参数,并根据所述显示模式参数,对所述显示内容进行显示输出。
其中,显示输出单元具体包括选择寄存器020和显示输出端口010:
所述选择寄存器020,用于保存所述切换控制单元101所确定的显示控制寄存器组信息;
所述显示输出端口010,用于根据所述切换控制单元101所确定的显存资源,获取所述将要显示的客户操作系统的显示内容;根据所述选择寄存器020保存的显示控制寄存器组信息,获取相应的显示模式参数,并根据所述显示模式参数,对所述显示内容进行显示输出。
按照上述结构,各客户操作系统通过各自的设备驱动单元访问为其配置的显示卡的显示控制寄存器组和显存资源。当某个客户操作系统要在前台显示时,根据该客户操作系统的显示控制寄存器组的显示模式参数,对该客户操作系统进行显示输出。
由于用户可能对当前显示的客户操作系统的显示模式参数和/或显示输出设置参数做了相应的配置,因此,在由显示当前的客户操作系统(如主客户操作系统201)切换到显示另一客户操作系统(如次客户操作系统202)的过程中,可以对上述配置进行保存,从而在重新切换回先前所显示的客户操作系统(如主客户操作系统201)时,通过加载所保存的上述配置,即可简便、快速的恢复到先前的显示状态的目的。这里,所述显示输出设置参数是指显示输出端口的当前配置,可以包括:显示输出端口启用/禁用设置、显示输出端口的循环冗余码校验(CRC)设置、同步设置等参数。
为达到上述目的,如图1所示,可以在切换控制单元101中增加显示模式加载单元1011和显示输出设置加载单元1012。
其中,所述显示模式加载单元1011,用于保存当前显示的客户操作系统的显示控制寄存器组中的显示模式参数,加载预先保存的所述将要显示的客户操作系统的显示模式参数。
所述显示输出设置加载单元1012,用于保存当前显示的客户操作系统对应的显示输出设置参数,加载预先保存的所述客户操作系统对应的显示输出设置参数。
这里,如果显示卡000是通过显存映射关系表来将显存资源映射到实际的物理内存中,那么,如图1所示,所述显示卡000还可以包括显存映射单元050,所述切换控制单元101还可以包括显存映射加载单元1013。通过显存映射加载单元1013对所述显存映射单元050进行控制,为客户操作系统选择供其使用的显存资源。
其中,所述显存映射单元050,用于保存显存与物理内存之间的映射关系;
所述显存映射加载单元1013,用于保存所述显存映射单元050中的当前显存映射关系,向所述显存映射单元050加载预先保存的所述将要显示的客户操作系统对应的显存映射关系。
这里,还可以通过其他方式为客户操作系统选择供其使用的显存资源,例如,修改虚拟机管理器100中客户操作系统的影子(shadow)页表、扩展页表或者嵌套(Nested)页表。
基于本实施例中图1所示的计算机系统,以下以将当前显示的客户操作系统从主客户操作系统201切换到次客户操作系统202为例,说明本实施例所述在多操作系统中共享显示卡的方法。如图2所示,该方法包括以下步骤:
步骤20,预先为主客户操作系统201配置显示卡000的所有显示控制寄存器组和所有显存资源,为次客户操作系统202配置一组显示控制寄存器组和所有显存资源中的部分显存资源,并将各客户操作系统的显存资源和显示控制寄存器组的全部配置信息保存在对应关系表中,其中,各客户操作系统根据其所配置的显存资源和显示控制寄存器信息,对显示卡进行访问;
步骤21,检测到当前显示的操作系统需要从主客户操作系统201切换到次客户操作系统202;
步骤22,保存当前显示的主客户操作系统201的显示控制寄存器组中的显示模式参数;
步骤23,保存当前显示的主客户操作系统201对应的显示输出设置参数;
步骤24,保存当前显示的主客户操作系统201对应的显存映射关系;
步骤25,加载预先保存的所述将要显示的次客户操作系统202对应的显存映射关系;
步骤26,加载预先保存的所述将要显示的次客户操作系统202的显示模式参数;
步骤27,加载预先保存的所述次客户操作系统202对应的显示输出设置参数;
步骤28,调用所述对应关系表,确定将要显示的次客户操作系统202的显存资源和显示控制寄存器组信息;根据所确定的显存资源和显示控制寄存器组信息,分别获取所述次客户操作系统202的显示内容和显示模式参数,并根据所述显示模式参数,对所述显示内容进行显示输出。
从以上所述可以看出,本实施例中只需修改次客户操作系统的驱动程序,不需要修改主客户操作系统的驱动程序,并且,无需模拟或只需要模拟小部分显示卡的寄存器,即可实现对显示卡的共享访问操作。同时,在切换当前显示的客户操作系统之前,对该客户操作系统相关的显示模式参数、显示输出设置参数及显存映射关系进行保存,以便于在重新切换回该客户操作系统时,简便、快速的恢复该客户操作系统的原先的显示状态。
<第二实施例>
由于主客户操作系统可以使用显示卡的所有资源,因此,当次客户操作系统在前台显示,主客户操作系统在后台运行时,主客户操作系统可能对次客户操作系统当前正在使用的显示卡资源进行访问操作,从而可能破坏次客户操作系统的正常显示。因此,本实施例中通过在虚拟机管理器中增加拦截模块,对上述访问操作进行拦截,以保证次客户操作系统的可靠显示。
当主客户操作系统在前台显示时,可以通过预先修改次客户操作系统的驱动程序,使得次客户操作系统在后台时不对显存内容或显示控制寄存器组进行更新操作,以避免对主客户操作系统显示内容的破坏。
如图3所示,本实施例所示的计算机系统中,所述虚拟机管理器100还包括有拦截单元103,所述次客户操作系统202还包括有设备模拟单元2022。
其中,所述拦截单元103,用于当次客户操作系统202在前台显示时,拦截其他客户操作系统对次客户操作系统202的显存资源或显示控制寄存器组的访问操作;所述设备模拟单元2022,用于为所述其他客户操作系统模拟所述拦截单元103所拦截的对显示卡的访问操作。
按照本实施例中的计算机系统的架构,本实施例也相应的提供一种操作系统共享显示卡的方法。与第一实施例中的所述方法相比,本实施例所述方法在图2所示步骤28之后还进一步增加了以下步骤:
步骤29,当次客户操作系统在后台显示时,该次客户操作系统停止对其显存内容或显示控制寄存器组进行更新操作;当次客户操作系统在前台显示时,拦截其他客户操作系统对该次客户操作系统的显存资源或显示控制寄存器组的访问操作,并为所述其他客户操作系统模拟所述访问操作。
<第三实施例>
显示卡自身所具有的显示控制寄存器组的数量有限。当操作系统的数量多于显示控制寄存器组时,此时,还可以通过客户操作系统模拟显示卡,为其他客户操作系统提供虚拟显卡,实现其他客户操作系统对显卡的访问。
如图4所示,该图中有2个显示控制寄存器组,3个客户操作系统(主客户操作系统201、次客户操作系统202和第二客户操作系统203)。其中,主客户操作系统201和次客户操作系统202分别包括有设备模拟单元2011和2021,第二客户操作系统203包括有第一设备驱动单元2031。虚拟机管理器100包括有通信单元102。
这里,所述第二客户操作系统203属于第二类客户操作系统,所述第二类客户操作系统通过所述第一类客户操作系统,如主客户操作系统201或次客户操作系统202,间接访问显示卡。
此时,第二客户操作系统203的第一设备驱动单元2031可以通过通信单元102连接设备模拟单元2022(或设备模拟单元2012)和设备驱动单元2031。
设备驱动单元2031将第二客户操作系统203访问显示卡000的命令通过通信单元102发生给设备模拟单元2022(或设备模拟单元2012)。设备模拟单元2022(或设备模拟单元2012),用于为第二客户操作系统203模拟显示卡,并通过设备驱动单元2021(或设备驱动单元2011)为客户操作系统203提供对显示卡000的访问,从而实现通过次客户操作系统202(或主客户操作系统201)对第二客户操作系统203进行显示输出。
上述实施例都是以计算机系统包括一个次客户操作系统为例进行说明。显然,在上述任一实施例中,都可以有多个次客户操作系统。此时,为各次客户操作系统所配置的显存资源可以相同也可以不同,为各次客户操作系统配置的显示控制寄存器组也可以相同也可以不同。
以上所述是本发明的实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种在多操作系统中共享显示卡的方法,其特征在于,所述多操作系统包括一个主客户操作系统和至少一个次客户操作系统,所述方法包括:
检测到有第一客户操作系统需要被显示,所述第一客户操作系统属于所述主客户操作系统和至少一个次客户操作系统中的一个客户操作系统;
对所述第一客户操作系统进行判断:当所述第一客户操作系统是所述主客户操作系统时,为所述第一客户操作系统分配显示卡的所有显示控制寄存器组和所有显存资源;当所述第一客户操作系统是所述次客户操作系统时,为所述第一客户操作系统分配一组显示控制寄存器组和所有显存资源中的部分显存资源;
控制为所述第一客户操作系统所分配的显示控制寄存器组与显示输出端口连接;
根据为所述第一客户操作系统所分配的显存资源,获取所述第一客户操作系统的显示内容;
根据与所述显示输出端口连接的显示控制寄存器组中显示模式参数,对所述显示内容进行显示。
2.如权利要求1所述的方法,其特征在于,所述当所述第一客户操作系统是所述次客户操作系统时,为所述第一客户操作系统分配一组显示控制寄存器组和所有显存资源中的部分显存资源,是根据所述次客户操作系统的对显示效果的要求,为所述次客户操作系统分配对应的显示控制寄存器组和显存资源。
3.如权利要求1所述的方法,其特征在于,在所述对所述第一显示内容进行显示之前还包括:
保存当前显示的客户操作系统的显示控制寄存器组中的显示模式参数,加载预先保存的所述第一客户操作系统的显示模式参数;
保存当前显示的客户操作系统对应的显示输出设置参数,加载预先保存的所述第一客户操作系统对应的显示输出设置参数。
4.如权利要求3所述的方法,其特征在于,在所述根据所述第一显示控制寄存器组中显示模式参数,对所述第一显示内容进行显示之前还包括:
保存当前显示的客户操作系统对应的显存映射关系,加载预先保存的所述第一客户操作系统对应的显存映射关系。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
当次客户操作系统在前台显示时,拦截所述次客户操作系统外的其他客户操作系统对所述次客户操作系统的显存资源或显示控制寄存器组的访问操作,并为所述其他客户操作系统模拟所述访问操作。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
当次客户操作系统在后台显示时,次客户操作系统停止对其显存内容或显示控制寄存器组进行更新操作。
7.一种计算机系统,包括:
一个主客户操作系统和至少一个次客户操作系统;
虚拟机管理器,每一所述一个主客户操作系统和至少一个次客户操作系统与所述虚拟机管理器连接;
显示卡,所述显示卡包括至少两个显示控制寄存器组;
所述主客户操作系统与显示卡的所有显示控制寄存器组和所有显存资源相对应,每一所述至少一个次客户操作系统与显示卡的其中一组显示控制寄存器组和部分显存资源相对应;
显示输出端口;
切换控制单元,在检测到有第一客户操作系统需要被显示时,使所述第一客户操作系统与所述显示输出端口连接,所述第一客户操作系统属于所述一个主客户操作系统和至少一个次客户操作系统中的一个客户操作系统;
其中,通过所述显示输出端口对所述第一客户操作系统进行显示。
8.如权利要求7所述的计算机系统,其特征在于,还包括选择寄存器,用于控制所述第一客户操作系统对应的第一显示控制寄存器组与显示输出端口连接。
9.如权利要求7所述的计算机系统,其特征在于,所述主客户操作系统和至少一个次客户操作系统中分别设置有设备驱动单元,用于保存本客户操作系统对应的显示控制寄存器组和显存资源的配置信息,并为本客户操作系统提供对显示卡的访问。
10如权利要求7所述的计算机系统,其特征在于,所述切换控制单元包括显示模式加载单元和显示输出设置加载单元;
所述显示模式加载单元,用于在对所述第一客户操作系统进行显示之前,保存当前显示的客户操作系统的显示控制寄存器组中的显示模式参数,加载预先保存的所述第一客户操作系统的显示模式参数;
所述显示输出设置加载单元,用于在对所述第一客户操作系统进行显示之前,保存当前显示的客户操作系统对应的显示输出设置参数,加载预先保存的所述第一客户操作系统对应的显示输出设置参数。
11.如权利要求10所述的计算机系统,其特征在于,
所述显示卡还包括显存映射单元,用于保存显存与物理内存之间的映射关系;
所述切换控制单元还包括显存映射加载单元,用于保存所述显存映射单元中的当前显存映射关系,向所述显存映射单元加载预先保存的所述第一客户操作系统对应的显存映射关系。
12.如权利要求7所述的计算机系统,其特征在于,所述显示输出单元包括选择寄存器和显示输出端口;
所述选择寄存器,用于控制所述第一客户操作系统对应的第一显示控制寄存器组与显示输出端口连接。
13.如权利要求7所述的计算机系统,其特征在于,所述虚拟机管理器还包括拦截单元,所述次操作系统还包括有设备模拟单元;
所述拦截单元,用于当次客户操作系统在前台显示时,拦截所述次客户操作系统外的其他客户操作系统对所述次客户操作系统的显存资源或显示控制寄存器组的访问操作;
所述设备模拟单元,用于为所述其他客户操作系统模拟所述拦截单元所拦截的对显示卡的访问操作。
CN 200810055938 2008-01-02 2008-01-02 在多操作系统中共享显示卡的方法和计算机系统 Active CN101477510B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN 200810055938 CN101477510B (zh) 2008-01-02 2008-01-02 在多操作系统中共享显示卡的方法和计算机系统
US12/343,768 US8924962B2 (en) 2008-01-02 2008-12-24 Method and computer system for sharing graphics card among multiple operation systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810055938 CN101477510B (zh) 2008-01-02 2008-01-02 在多操作系统中共享显示卡的方法和计算机系统

Publications (2)

Publication Number Publication Date
CN101477510A true CN101477510A (zh) 2009-07-08
CN101477510B CN101477510B (zh) 2011-07-27

Family

ID=40800298

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810055938 Active CN101477510B (zh) 2008-01-02 2008-01-02 在多操作系统中共享显示卡的方法和计算机系统

Country Status (2)

Country Link
US (1) US8924962B2 (zh)
CN (1) CN101477510B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102201221A (zh) * 2010-03-25 2011-09-28 联想(北京)有限公司 显示方法及显示装置
CN102446116A (zh) * 2010-09-30 2012-05-09 中国移动通信有限公司 一种输入工具调用的系统、方法及一种代理设备
CN102725736A (zh) * 2011-12-31 2012-10-10 华为技术有限公司 基于虚拟化技术的图形显示方法及系统
CN104731721A (zh) * 2015-02-10 2015-06-24 深圳酷派技术有限公司 一种显示用内存的共享方法及装置
CN106796531A (zh) * 2016-12-27 2017-05-31 深圳前海达闼云端智能科技有限公司 内核配置信息的管理方法、装置和电子设备
CN107077375A (zh) * 2016-12-27 2017-08-18 深圳前海达闼云端智能科技有限公司 用于多操作系统的显示方法、装置和电子设备
CN107092456A (zh) * 2017-04-10 2017-08-25 北京技德网络技术有限公司 用于移动设备的扩展显示方法、系统和移动设备
WO2018119712A1 (zh) * 2016-12-27 2018-07-05 深圳前海达闼云端智能科技有限公司 视频显示方法、装置、电子设备和计算机程序产品
CN111694532A (zh) * 2020-06-11 2020-09-22 翱捷科技(上海)有限公司 单芯片异构系统的显示控制方法和可穿戴设备

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9176765B2 (en) * 2006-09-25 2015-11-03 Lenovo (Beijing) Limited Virtual machine system and a method for sharing a graphics card amongst virtual machines
CN101241445B (zh) * 2007-02-08 2011-07-27 联想(北京)有限公司 虚拟机系统及其访问显卡的方法
CN101464843B (zh) * 2007-12-17 2011-05-25 联想(北京)有限公司 在多操作系统中共享显示卡的方法和计算机系统
WO2011008205A1 (en) * 2009-07-15 2011-01-20 Hewlett-Packard Development Company, L.P. Shared video management subsystem
US9569241B2 (en) * 2013-02-22 2017-02-14 Red Hat Israel, Ltd. Sharing devices assigned to virtual machines using runtime exclusion
US10042659B1 (en) * 2013-10-30 2018-08-07 Xilinx, Inc. Caching virtual contexts for sharing of physical instances of a hardware resource
CN105630634B (zh) * 2015-12-28 2018-09-14 中国民生银行股份有限公司 应用系统灾备切换方法和装置
US10942757B2 (en) * 2017-02-27 2021-03-09 Red Hat, Inc. Virtual machine security through guest-side emulation
CN109150724B (zh) * 2018-07-02 2021-06-29 新华三信息技术有限公司 一种通信方法和网卡

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4833596A (en) * 1985-02-28 1989-05-23 International Business Machines Corporation Logical arrangement for controlling use of different system displays by main processor and co-processor
US7065630B1 (en) * 2003-08-27 2006-06-20 Nvidia Corporation Dynamically creating or removing a physical-to-virtual address mapping in a memory of a peripheral device
US20050193396A1 (en) * 2004-02-27 2005-09-01 Stafford-Fraser James Q. Computer network architecture and method of providing display data
US7689987B2 (en) * 2004-06-30 2010-03-30 Microsoft Corporation Systems and methods for stack-jumping between a virtual machine and a host environment
US7849327B2 (en) * 2005-01-19 2010-12-07 Leung Hin L Technique to virtualize processor input/output resources
US7650603B2 (en) * 2005-07-08 2010-01-19 Microsoft Corporation Resource management for virtualization of graphics adapters
US20070052715A1 (en) * 2005-09-07 2007-03-08 Konstantin Levit-Gurevich Device, system and method of graphics processing
US7613847B2 (en) * 2006-05-16 2009-11-03 Hewlett-Packard Development Company, L.P. Partially virtualizing an I/O device for use by virtual machines
CN1869959A (zh) * 2006-06-28 2006-11-29 广州市立本电器有限公司 一种多用户共享计算机内设和外设的系统
US9176765B2 (en) * 2006-09-25 2015-11-03 Lenovo (Beijing) Limited Virtual machine system and a method for sharing a graphics card amongst virtual machines
CN101241445B (zh) * 2007-02-08 2011-07-27 联想(北京)有限公司 虚拟机系统及其访问显卡的方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102201221A (zh) * 2010-03-25 2011-09-28 联想(北京)有限公司 显示方法及显示装置
CN102446116A (zh) * 2010-09-30 2012-05-09 中国移动通信有限公司 一种输入工具调用的系统、方法及一种代理设备
CN102725736A (zh) * 2011-12-31 2012-10-10 华为技术有限公司 基于虚拟化技术的图形显示方法及系统
CN102725736B (zh) * 2011-12-31 2014-03-12 华为技术有限公司 基于虚拟化技术的图形显示方法及系统
CN104731721A (zh) * 2015-02-10 2015-06-24 深圳酷派技术有限公司 一种显示用内存的共享方法及装置
CN104731721B (zh) * 2015-02-10 2019-07-16 深圳酷派技术有限公司 一种显示用内存的共享方法及装置
WO2018119712A1 (zh) * 2016-12-27 2018-07-05 深圳前海达闼云端智能科技有限公司 视频显示方法、装置、电子设备和计算机程序产品
CN107077375A (zh) * 2016-12-27 2017-08-18 深圳前海达闼云端智能科技有限公司 用于多操作系统的显示方法、装置和电子设备
WO2018119707A1 (zh) * 2016-12-27 2018-07-05 深圳前海达闼云端智能科技有限公司 内核配置信息的管理方法、装置和电子设备
CN106796531A (zh) * 2016-12-27 2017-05-31 深圳前海达闼云端智能科技有限公司 内核配置信息的管理方法、装置和电子设备
CN107077375B (zh) * 2016-12-27 2020-08-04 深圳前海达闼云端智能科技有限公司 用于多操作系统的显示方法、装置和电子设备
US10929079B2 (en) 2016-12-27 2021-02-23 Cloudminds (Shenzhen) Robotics Systems Co., Ltd. Video display method, electronic device and computer program product
US11200099B2 (en) 2016-12-27 2021-12-14 Cloudminds (Shenzhen) Robotics Systems Co., Ltd. Kernel configuration information management method and device, and electronic apparatus
US11204790B2 (en) 2016-12-27 2021-12-21 Cloudminds (Shenzhen) Robotics Systems Co., Ltd. Display method for use in multi-operating systems and electronic device
CN107092456A (zh) * 2017-04-10 2017-08-25 北京技德网络技术有限公司 用于移动设备的扩展显示方法、系统和移动设备
CN111694532A (zh) * 2020-06-11 2020-09-22 翱捷科技(上海)有限公司 单芯片异构系统的显示控制方法和可穿戴设备

Also Published As

Publication number Publication date
CN101477510B (zh) 2011-07-27
US8924962B2 (en) 2014-12-30
US20090172667A1 (en) 2009-07-02

Similar Documents

Publication Publication Date Title
CN101477510B (zh) 在多操作系统中共享显示卡的方法和计算机系统
US8924959B2 (en) Switching hardware devices in virtual machine systems using resource converting relationships
CN107077377B (zh) 一种设备虚拟化方法、装置、系统及电子设备、计算机程序产品
CN103282881B (zh) 通过虚拟化直接共享智能设备
CN101477476B (zh) 多操作系统之间切换显示的控制方法和装置
CN104508589B (zh) 用于显示输出的可选择图形控制器
CN101464843B (zh) 在多操作系统中共享显示卡的方法和计算机系统
CN100570562C (zh) 显卡、应用该显卡的虚拟机系统及显示处理方法
CN100489782C (zh) 一种虚拟机系统及硬件设备的访问控制方法
CN102110023B (zh) 一种多用户操作系统并行运行的控制方法、系统及计算机
CN104714846A (zh) 资源处理方法、操作系统及设备
CN103034524A (zh) 半虚拟化的虚拟gpu
CN104583979A (zh) 动态物理存储器分区技术
CN107003892A (zh) Gpu虚拟化方法、装置、系统及电子设备、计算机程序产品
EP2637091A1 (en) Management interface for multiple storage subsystems virtualization
CN103856547A (zh) 多虚拟机的映射方法、系统及客户端设备
CN108235759A (zh) 基于多操作系统的输入处理方法、装置及电子设备
WO2017184168A1 (en) Configuration of a memory controller for copy-on-write with a resource controller
CN106293953A (zh) 一种访问共享显示数据的方法及系统
CN110362375A (zh) 桌面数据的显示方法、装置、设备和存储介质
US20240062450A1 (en) Cloud Image Rendering for Concurrent Processes
CN106598696A (zh) 一种虚拟机之间数据交互的方法及装置
CN110941408B (zh) 一种kvm虚拟机图形界面输出方法及装置
CN109933435A (zh) 控制方法、装置及计算机设备
CN103809972B (zh) 一种信息处理方法及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant