一种显示处理方法、装置及计算机系统的制作方法

文档序号:6425340阅读:160来源:国知局
专利名称:一种显示处理方法、装置及计算机系统的制作方法
技术领域
本发明属于电子领域,特别涉及一种显示处理方法、装置及计算机系统。
背景技术
Android (安卓)是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。上市时间不久的Android操作系统已经成为最受欢迎的智能手机平台之一,已经广泛应用于智能手机和平板电脑。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中 的完整计算机系统。通过虚拟机软件,可以在一台物理计算机上模拟出一台或多台虚拟的计算机,这些虚拟机完全就像真正的计算机那样进行工作,例如可以安装操作系统、安装应用程序、访问网络资源等等。对于用户而言,它只是运行在物理计算机上的一个应用程序,但是对于在虚拟机中运行的应用程序而言,它就是一台真正的计算机。目前已经可以基于虚拟机来提供逻辑硬件,并基于虚拟机虚拟出来的逻辑硬件运行Android操作系统,从而使得用户可以在个人电脑中来体验Android操作系统,然而,发明人在实现本发明实施例的过程中发现,现有技术至少存在如下缺点目前Android运行在虚拟机上的时候,由于Android系统本身的限制,其只支持一个窗口,而无法支持多窗口的显示,导致用户即使在计算机中运行,也只能看到一个窗口。当然,以上是以Android操作系统在虚拟机上的运行为例说明现有技术的缺点,但同样的问题也存在于其他类型的操作系统,如Symbian塞班操作系统,苹果公司为iPhone开发的操作系统iOS。

发明内容
本发明实施例的目的在于提供一种显示处理方法、装置及计算机系统,基于虚拟机来实现客户操作系统的多个显示窗口的同时显示。为了实现上述目的,本发明实施例提供了一种显示处理方法,用于一计算机系统,所述计算机系统中包括基于物理硬件运行的主操作系统;用于基于所述物理硬件模拟出逻辑硬件的虚拟机;基于所述逻辑硬件运行的客户操作系统;所述显示处理方法包括所述客户操作系统检测到需要产生窗口的第二事件时,生成第二窗口生成消息;所述虚拟机接收所述客户操作系统发送的所述第二窗口生成消息;所述虚拟机将所述第二窗口生成消息发送到所述主操作系统;所述主操作系统根据所述第二窗口生成消息生成第二窗口,并控制所述第二窗口显示于显示屏的第二显示位置,使所述第二显示位置与第一窗口的第一显示位置不同,其中,所述第一窗口是所述主操作系统中显示的,与所述客户操作系统相关的窗口。上述的显示处理方法,其中,所述第一窗口为主操作系统根据第一窗口生成消息生成的窗口,且所述第一窗口生成消息为虚拟机接收到的由所述客户操作系统检测到需要产生窗口的第一事件时生成并发送的消息。。上述的显示处理方法,其中,使所述第二显示位置与第一窗口的第一显示位置不同包括使所述第二窗口与所述第一窗口不重叠。上述的显示处理方法,其中,所述主操作系统根据所述第二窗口生成消息生成第二窗口,并控制所述第二窗口显示于显示屏的第二显示位置,使所述第二显示位置与第一窗口的第一显示位置不同具体包括所述主操作系统获取在生成所述第一窗口时保存的所述第一窗口的第一位置信 息;所述主操作系统根据所述第一位置信息确定与所述第一位置信息不同的第二位
置信息;所述主操作系统根据所述第二位置信息和所述第二窗口生成消息生成并显示所
述第二窗口。上述的显示处理方法,其中,所述第二窗口生成消息为客户操作系统中的应用调用客户操作系统内的第一图形应用程序编程接口的消息;所述主操作系统根据所述第二窗口生成消息生成第二窗口,并控制所述第二窗口显示于显示屏的第二显示位置,使所述第二显示位置与第一窗口的第一显示位置不同具体包括所述主操作系统根据所述第二窗口生成消息调用主操作系统内对应的第二图形应用程序编程接口进行处理;所述第二图形应用程序编程接口封装显示数据和包括所述第一位置的显示参数,并转发封装后的显示参数和显示数据到显卡驱动,由显卡上的图形处理单元实现所述第二窗口的生成和显示。上述的显示处理方法,其中,所述第一图形应用程序编程接口和第二图形应用程序编程接口为开放式图形处理库应用程序编程接口。上述的显示处理方法,其中,还包括所述主操作系统将检测到的对所述第二窗口执行的输入操作发送到所述虚拟机;所述虚拟机将所述输入操作发送到所述客户操作系统;所述客户操作系统将所述输入操作对应的输入消息插入到所述第二窗口对应的消息队列中等待处理。上述的显示处理方法,其中,还包括所述客户操作系统在检测到对第二窗口进行修改的窗口修改指令时,生成窗口修改消息;所述虚拟机接收所述客户操作系统发送的所述窗口修改消息;所述虚拟机将所述窗口修改消息发送到所述主操作系统;
所述主操作系统依据所述窗口修改消息对所述第二窗口进行修改操作。为了实现上述目的,本发明实施例还提供了一种显示处理装置,用于一计算机系统,所述计算机系统中包括基于物理硬件运行的主操作系统;用于基于所述物理硬件模拟出逻辑硬件的虚拟机;基于所述逻辑硬件运行的客户操作系统;所述显示处理装置具体包括设置于所述客户操作系统中的第一消息生成模块,用于检测到需要产生窗口的第二事件时,生成第二窗口生成消息; 设置于虚拟机中的第一接收模块,用于接收所述客户操作系统发送的所述第二窗口生成消息;设置于虚拟机中的第一发送模块,用于将所述第二窗口生成消息发送到所述主操作系统;设置于所述主操作系统中的窗口生成处理模块,用于根据所述第二窗口生成消息生成第二窗口,并控制所述第二窗口显示于显示屏的第二显示位置,使所述第二显示位置与第一窗口的第一显示位置不同,其中,所述第一窗口是所述主操作系统中显示的,与所述客户操作系统相关的窗口。上述的显示处理装置,其中,所述第一窗口为主操作系统根据第一窗口生成消息生成的窗口,且所述第一窗口为主操作系统根据第一窗口生成消息生成的窗口,且所述第一窗口生成消息为虚拟机接收到的由所述客户操作系统检测到需要产生窗口的第一事件时生成并发送的消息。。上述的显示处理装置,其中,所述第二显示位置与第一窗口的第一显示位置不同具体为所述第二窗口与所述第一窗口不重叠。上述的显示处理装置,其中,所述窗口生成处理模块具体包括获取单元,用于获取在生成所述第一窗口时保存的所述第一窗口的第一位置信息;位置信息确定单元,用于根据所述第一位置信息确定与所述第一位置信息不同的第二位置信息;窗口处理单元,用于根据所述第二位置信息和所述第二窗口生成消息生成并显示所述第二窗口。上述的显示处理装置,其中,所述第二窗口生成消息为客户操作系统中的应用调用客户操作系统内的第一图形应用程序编程接口的消息;所述窗口生成处理模块包括调用单元,用于根据所述第二窗口生成消息调用主操作系统内对应的第二图形应用程序编程接口进行处理,由所述第二图形应用程序编程接口封装显示数据和包括所述第一位置的显示参数,并转发封装后的显示参数和显示数据到显卡驱动,由显卡上的图形处理单元实现所述第二窗口的生成和显示。上述的显示处理装置,其中,所述第一图形应用程序编程接口和第二图形应用程序编程接口为开放式图形处理库应用程序编程接口。
上述的显示处理装置,其中,还包括设置于所述主操作系统中的第二发送模块,用于将检测到的对所述第二窗口执行的输入操作发送到所述虚拟机;设置于虚拟机中的第三发送模块,用于将所述输入操作发送到所述客户操作系统;设置于所述客户操作系统中的插入单元,用于将所述输入操作对应的输入消息插入到所述第二窗口对应的消息队列中等待处理。上述的显示处理装置,其中,还包括设置于所述客户操作系统中的第二消息生成模块,用于在检测到对第二窗口进行修改的窗口修改指令时,生成窗口修改消息;
设置于虚拟机中的第二接收模块,用于接收所述客户操作系统发送的所述窗口修改消息;设置于虚拟机中的第四发送模块,用于将所述窗口修改消息发送到所述主操作系统;设置于所述主操作系统中的窗口修改模块,用于依据所述窗口修改消息对所述第二窗口进行修改操作。为了实现上述目的,本发明实施例还提供了计算机系统,包括基于物理硬件运行的主操作系统;用于基于所述物理硬件模拟出逻辑硬件的虚拟机;基于所述逻辑硬件运行的客户操作系统;所述客户操作系统包括第一消息生成模块,用于检测到需要产生窗口的第二事件时,生成第二窗口生成消息;所述虚拟机包括第一接收模块,用于接收所述客户操作系统发送的所述第二窗口生成消息;和第一发送模块,用于将所述第二窗口生成消息发送到所述主操作系统;所述主操作系统包括窗口生成处理模块,用于根据所述第二窗口生成消息生成第二窗口,并控制所述第二窗口显示于显示屏的第二显示位置,使所述第二显示位置与第一窗口的第一显示位置不同,其中,所述第一窗口是所述主操作系统中显示的,与所述客户操作系统相关的窗口。所述第一窗口为主操作系统根据第一窗口生成消息生成的窗口,且所述第一窗口生成消息为虚拟机接收到的由所述客户操作系统检测到需要产生窗口的第一事件时生成并发送的消息。所述第二显示位置与第一窗口的第一显示位置不同具体为所述第二窗口与所述
第一窗口不重叠。本发明实施例具有以下有益效果在本发明的具体实施例中,在客户操作系统检测到需要产生窗口的事件时,生成一窗口生成消息,该窗口生成消息由虚拟机发送到主操作系统,而主操作系统接收到该窗口生成消息首先确定窗口的位置,保证该新窗口与已有的在所述主操作系统中显示的,与所述客户操作系统相关的窗口的显示位置不同即可,然后在确定的位置根据内容数据来生成并显示窗口,使得多个窗口可以同时在主操作系统中显示,实现了多任务同时在前台运行;在本发明的具体实施例中,主操作系统是利用硬件直接完成窗口的显示,相对于模拟方式大大提高了显示速度。


图I所示为本发明实施例的显示处理方 法的流程示意图;图2所示为本发明实施例的显示处理方法中窗口显示位置不同的一种情况的示意图;图3所示为本发明实施例的显示处理方法中窗口显示位置不同的另一种情况的示意图;图4所示为本发明实施例的显示处理装置的结构示意图。
具体实施例方式本发明实施例的显示处理方法和装置中,由主操作系统来实现客户操作系统的窗口统一生成和管理,保证客户操作系统对应的多个窗口在主操作系统中的显示位置不同,实现多窗口的同时显示。本发明具体实施例中,是对虚拟机中运行的客户操作系统的窗口进行控制和管理,在此先对涉及到的一些概念进行说明如下。目前存在两种类型的虚拟化技术,一种为TypeI,其直接运行于硬件系统之上,Type I也经常被称为硬件虚拟化引擎,而Type 2则是以现有操作系统之上的应用程序之一的方式运行。在本发明的具体实施例中涉及到的虚拟机为Type 2虚拟机,如Oracle的VirtualBox、微软公司的Virtual PC、以及中国设计的VMlite等。下面Type 2虚拟机中的一些概念说明如下。虚拟机,基于所述物理硬件模拟出逻辑硬件,是逻辑上的一台计算机;主操作系统H0S,是指基于物理实体运行的计算机上运行的操作系统;客户操作系统G0S,运行在虚拟机上的操作系统。例如在一台安装了 Windows NT的计算机上安装了虚拟机,虚拟机上运行的是Linux,那么,HOS 指的 Windows NT,而 GOS 为 Linux。同时,在本发明的具体实施例中,并不限定该主操作系统的类型,其可以是各种能够同时显示多个窗口的操作系统,如Linux操作系统、微软的窗口操作系统以及其他各种类型的操作系统,而客户操作系统可以是如Android操作系统、Symbian操作系统、iOS等各种类型的操作系统。本发明实施例的显示处理方法,用于一计算机系统,所述计算机系统中包括基于物理硬件运行的主操作系统;用于基于所述物理硬件模拟出逻辑硬件的虚拟机;基于所述逻辑硬件运行的客户操作系统;所述显示处理方法如图I所示包括
步骤11,所述客户操作系统检测到需要产生窗口的第二事件时,生成第二窗口生成消息;步骤12,所述虚拟机接收所述客户操作系统发送的所述第二窗口生成消息;步骤13,所述虚拟机将所述第二窗口生成消息发送到所述主操作系统;步骤14,所述主操作系统根据所述第二窗口生成消息生成第二窗口,并控制所述第二窗口显示于显示屏的第二显示位置,使所述第二显示位置与第一窗口的第一显示位置不同,其中,所述第一窗口是所述主操作系统中显示的,与所述客户操作系统相关的窗口。在本发明的具体实施例中,在客户操作系统检测到需要产生窗口的事件时,会生成一窗口生成消息,该窗口生成消息由虚拟机发送到主操作系统,该窗口生成消息包括了 所有需要生成该窗口的数据,而主操作系统接收到该窗口生成消息首先确定窗口的位置,保证该新窗口与已有的在所述主操作系统中显示的,与所述客户操作系统相关的窗口的显示位置不同即可,然后在确定的位置根据内容数据来生成并显示窗口,使得多个窗口可以同时在主操作系统中显示。在本发明的具体实施例中,主操作系统是利用物理硬件运行的操作系统,因此可以利用物理硬件直接完成窗口的显示,相对于模拟方式大大提高了显示速度。在本发明的具体实施例中,在客户操作系统检测到需要产生窗口的事件可以是如下的各类事件,如应用程序图标被点击;或通过应用程序内部模块新建一个文档;或通过应用程序内部模块新打开一个已有文档。当然,以上仅仅是举例,客户操作系统中还包括很多需要产生窗口的事件,在此不 列举。在本发明的具体实施例中,在主操作系统接收到根据所述第二窗口生成消息后,需要控制第二窗口显示于显示屏的第二显示位置,使所述第二显示位置与所述主操作系统中显示的,与所述客户操作系统相关的第一窗口的第一显示位置不同,其中,所述第一窗口可以是显示该客户操作系统的窗口,也可以是客户操作系统中运行的应用程序对应的窗口,在此以后一种情况具体说明如下。在后一种情况下,所述第一窗口为主操作系统根据第一窗口生成消息生成的窗口,且所述第一窗口生成消息为虚拟机接收到的由所述客户操作系统检测到需要产生窗口的第一事件时生成并发送的消息。也就是说,该第一窗口的生成过程与第二窗口的生成过程相同,二者属于同一种类型的窗口。后续的说明以第一窗口是客户操作系统中运行的应用程序对应的窗口的情况为例进行说明,但应当理解的是,其处理措施同样适用于第一窗口是显示该客户操作系统的窗口的情况。本发明具体实施例中,主操作系统在生成所述第一窗口时保存的所述第一窗口的第一位置信息,进而通过该第一窗口的位置信息来确定当前待生成窗口(第二窗口)的位置信息,以保证新生成窗口与已生成窗口的显示位置不同,具体包括所述主操作系统获取在生成所述第一窗口时保存的所述第一窗口的第一位置信息;
所述主操作系统根据所述第一位置信息确定与所述第一位置信息不同的第二位
置信息;所述主操作系统根据所述第二位置信息和所述第二窗口生成消息生成并显示所述第二窗口。说明如下。在主操作系统生成第一个窗口(应当理解在此所述的窗口以及之后提到的窗口都是与GOS相关的窗口,而不是HOS中的应用程序的窗口)时,由于此时并没有其他窗口的存在,因此可以任意确定该窗口的位置,并在生成后保存第一个窗口的位置信息;在主操作系统生成第二个窗口时,此时已经存在第一个窗口,此时主操作系统需要根据保存的第一个窗口的位置信息来确定第二个窗口的位置信息,以保证第一个窗口和第二个窗口的显示位置不同; ......在主操作系统生成第η个窗口时,此时已经存在第一个、第二个.....第η-i个窗
口,此时主操作系统需要根据保存的η-i个窗口的位置信息来确定第η个窗口的位置信息,以保证第η个窗口和之前的所有窗口的显示位置不同。上述说明是以所有窗口的显示位置不同进行的说明,但应当理解的是,本发明实施例也可以用于实现存在显示位置不同的窗口的情况,而不必保证所有的窗口的显示位置不同,如第一个窗口位于第一位置,而其他所有的窗口都位于与第一位置不同的第二位置,其也实现了多个窗口的同时显示,但在后续的说明中以所有窗口的位置都不同为例进行说明。在本发明的具体实施例中,需要保证第二窗口的显示位置与第一窗口的显示位置不同,在此,该显示位置不同可以是第一窗口和第二窗口不重叠,即二者的显示区域没有重叠的部分;或者第一窗口和第二窗口的显示区域既存在重叠的部分,又存在不重叠的部分,两种显示位置不同的情况分别如图2和图3所示。这两种方式下,保证显示位置不同的处理手段不同,分别说明如下。在保证第一窗口和第二窗口不重叠时,该位置信息的信息为显示区域信息,主操作系统确定第二显示区域,该第二显示区域与第一窗口的第一显示区域没有重叠的部分即可。在第一窗口和第二窗口的显示区域既存在重叠的部分,又存在不重叠的部分时,该第一位置信息可以是窗口的一个顶点的坐标,主操作系统确定第二显示位置时,只要保证第二窗口的对应顶点的坐标与保存的第一窗口的顶点的坐标不同即可。从目前来看,不论是哪一种类型的图形芯片,总会支持某个版本的DirectX或OpenGL API (Open Graphics Library Application Programming Interface,开放式图形处理库应用程序编程接口)。API是连接应用程序、操作系统和底层硬件的纽带,是软件函数的集合,这些预先编写好的函数可以对硬件进行直接控制,具有通用性。而所述的第二窗口生成消息正式客户操作系统中的应用调用客户操作系统内的第一图形应用程序编程接口的消息;
所述主操作系统根据所述第二窗口生成消息生成第二窗口,并控制所述第二窗口显示于显示屏的第二显示位置,使所述第二显示位置与第一窗口的第一显示位置不同具体包括所述主操作系统根据所述第二窗口生成消息调用主操作系统内对应的第二图形应用程序编程接口进行处理;所述第二图形应用程序编程接口封装显示数据和包括所述第一位置的显示参数,并转发封装后的显示参数和显示数据到显卡驱动,由显卡上的图形处理单元实现所述第二窗口的生成和显示。在本发明的具体实施例中,当客户操作系统是Android操作系统时,由于在Android系统中,低层绘图合成工作是由OpenGL完成,用户所看到屏幕绘图用OpenGL完成,
所以该第一图形应用程序编程接口和第二图形应用程序编程接口都是开放式图形处理库应用程序编程接口。当然,应当理解的是,考虑到技术的不断发展以及厂商之间的不断协作,后续的Android操作系统也有可能支持DirectX,但具体支持何种图形API接口不应该成为本发明实施例的限定。按照本发明实施例的方法在主操作系统生成并显示该窗口后,还需要将用户在主操作系统中对窗口的操作(如拖拉、在窗口中进行输入等)返回给Android中对应的应用程序,同时也需要将应用程序对窗口的修改返回到主操作系统,由主操作系统进行相应处理,以体现对应的变化。主/客户操作系统都可以通过消息循环来管理窗口,输入设备(键盘、鼠标、触摸板等)的输入最终会转化成操作系统消息放入窗口对应的应用程序的消息队列中,等待应用程序的处理。因此,可以通过拦截主操作系统中的窗口的消息,并发送到客户操作系统,实现输入的传输,在此,本发明实施例的显示处理方法通过如下步骤实现输入的传输所述主操作系统将检测到的对所述第二窗口执行的输入操作发送到所述虚拟机;所述虚拟机将所述输入操作发送到所述客户操作系统;所述客户操作系统将所述输入操作对应的输入消息插入到所述第二窗口对应的消息队列中等待处理。而一旦客户操作系统中需要对窗口进行修改,这种修改可能是两种情况引起的I、由于用户在窗口的输入导致需要修改,如一个游戏窗口用户执行一定的输入操作后会引起窗口内容的变化,又如一个游戏窗口用户拖拉后会引起窗口位置的变化;2、由于Android系统的修改导致窗口需要修改,如用户在Android操作系统中调节显示参数。因此,这种修改有可能与之前提到的对所述第二窗口执行的输入操作有关,也有可能是与之无关,但实现这种修改的方式都相同,包括所述客户操作系统在检测到对第二窗口进行修改的窗口修改指令时,生成窗口修改消息;所述虚拟机接收所述客户操作系统发送的所述窗口修改消息;
所述虚拟机将所述窗口修改消息发送到所述主操作系统;所述主操作系统依据所述窗口修改消息对所述第二窗口进行修改操作。在此,该窗口修改指令有可能是由用户在窗口的输入导致的,也有可能是客户操作系统本身所导致的。下面以用户在窗口的输入导致窗口修改为例说明如下。假定存在一个射击游戏,其对应一窗口 X,用户输入某一个操作,进行射击,此时主操作系统将检测到的输入操作通过所述虚拟机传递到所述客户操作系统;客户操作系统将所述输入操作对应的输入消息A插入到射击游戏对应的消息队列中等待处理。当该输入消息A被处理后,需要在屏幕上显示子弹射出的显示效果,此时,应用程序会生成对应的窗口修改指令,以实现子弹射出的显示效果,而客户操作系统在检测到应 用程序产生了对第二窗口进行修改的窗口修改指令时,会生成一个窗口修改消息来进行处理,但该窗口修改消息由所述虚拟机接收后发送到所述主操作系统,由主操作系统依据所述窗口修改消息对所述第二窗口进行修改操作。在此,不管是主操作系统,还是客户操作系统,都还是调用操作系统内的图形应用程序编程接口来进行处理,只不过客户操作系统的调用被拦截发送到主操作系统,而主操作系统会调用图形应用程序编程接口,由图形应用程序编程接口封装显示数据,并转发到显卡驱动,由显卡上的图形处理单元实现窗口显示内容的修改。本发明实施例的一种显示处理装置,用于一计算机系统,所述计算机系统中包括基于物理硬件运行的主操作系统;用于基于所述物理硬件模拟出逻辑硬件的虚拟机;基于所述逻辑硬件运行的客户操作系统;所述显示处理装置如图4所示,具体包括设置于所述客户操作系统中的第一消息生成模块,用于检测到需要产生窗口的第二事件时,生成第二窗口生成消息;设置于虚拟机中的第一接收模块,用于接收客户操作系统发送的所述第二窗口生成消息;设置于虚拟机中的第一发送模块,用于将所述第二窗口生成消息发送到所述主操作系统;设置于所述主操作系统中的窗口生成处理模块,用于根据所述第二窗口生成消息生成第二窗口,并控制所述第二窗口显示于显示屏的第二显示位置,使所述第二显示位置与第一窗口的第一显示位置不同,其中,所述第一窗口是所述主操作系统中显示的,与所述客户操作系统相关的窗口。上述的显示处理装置,所述第一窗口为主操作系统根据第一窗口生成消息生成的窗口,且所述第一窗口生成消息为虚拟机接收到的由所述客户操作系统检测到需要产生窗口的第一事件时时生成并发送的消息。上述的显示处理装置,所述第二显示位置与第一窗口的第一显示位置不同具体为所述第二窗口与所述第一窗口不重叠。上述的显示处理装置,所述窗口生成处理模块具体包括
获取单元,用于获取在生成所述第一窗口时保存的所述第一窗口的第一位置信息;位置信息确定单元,用于根据所述第一位置信息确定与所述第一位置信息不同的第二位置信息;窗口处理单元,用于根据所述第二位置信息和所述第二窗口生成消息生成并显示所述第二窗口。上述的显示处理装置,所述第二窗口生成消息为客户操作系统中的应用调用客户操作系统内的第一图形应用程序编程接口的消息;所述窗口生成处理模块包括调用单元,用于根据所述第二窗口生成消息调用主操作系统内对应的第二图形应用程序编程接口进行处理,由所述第二图形应用程序编程接口封装显示数据和包括所述第·一位置的显示参数,并转发封装后的显示参数和显示数据到显卡驱动,由显卡上的图形处理单元实现所述第二窗口的生成和显示。上述的显示处理装置,所述第一图形应用程序编程接口和第二图形应用程序编程接口为开放式图形处理库应用程序编程接口。上述的显示处理装置,还包括设置于所述主操作系统中的第二发送模块,用于将检测到的对所述第二窗口执行的输入操作发送到所述虚拟机;设置于虚拟机中的第三发送模块,用于将所述输入操作发送到所述客户操作系统;设置于所述客户操作系统中的插入单元,用于将所述输入操作对应的输入消息插入到所述第二窗口对应的消息队列中等待处理。上述的显示处理装置,还包括设置于所述客户操作系统中的第二消息生成模块,用于在检测到对第二窗口进行修改的窗口修改指令时,生成窗口修改消息;设置于虚拟机中的第二接收模块,用于接收所述客户操作系统发送的所述窗口修改消息;设置于虚拟机中的第四发送模块,用于将所述窗口修改消息发送到所述主操作系统;设置于所述主操作系统中的窗口修改模块,用于依据所述窗口修改消息对所述第二窗口进行修改操作。本发明实施例的计算机系统,包括基于物理硬件运行的主操作系统;用于基于所述物理硬件模拟出逻辑硬件的虚拟机;基于所述逻辑硬件运行的客户操作系统;所述客户操作系统包括第一消息生成模块,用于检测到需要产生窗口的第二事件时,生成第二窗口生成消息;所述虚拟机包括
第一接收模块,用于接收所述客户操作系统发送的所述第二窗口生成消息;和第一发送模块,用于将所述第二窗口生成消息发送到所述主操作系统;所述主操作系统包括窗口生成处理模块,用于根据所述第二窗口生成消息生成第二窗口,并控制所述第二窗口显示于显示屏的第二显示位置,使所述第二显示位置与第一窗口的第一显示位置不同,其中,所述第一窗口是所述主操作系统中显示的,与所述客户操作系统相关的窗口。所述第一窗口为主操作系统根据第一窗口生成消息生成的窗口,且所述第一窗口生成消息为虚拟机接收到的由所述客户操作系统检测到需要产生窗口的第一事件时生成并发送的消息。所述第二显示位置与第一窗口的第一显示位置不同具体为所述第二窗口与所述 第一窗口不重叠。本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种显示处理方法,用于一计算机系统,其特征在于,所述计算机系统中包括 基于物理硬件运行的主操作系统; 用于基于所述物理硬件模拟出逻辑硬件的虚拟机; 基于所述逻辑硬件运行的客户操作系统; 所述显示处理方法包括 所述客户操作系统检测到需要产生窗口的第二事件时,生成第二窗口生成消息; 所述虚拟机接收所述客户操作系统发送的所述第二窗口生成消息; 所述虚拟机将所述第二窗口生成消息发送到所述主操作系统; 所述主操作系统根据所述第二窗口生成消息生成第二窗口,并控制所述第二窗口显示于显示屏的第二显示位置,使所述第二显示位置与第一窗口的第一显示位置不同,其中,所述第一窗口是所述主操作系统中显示的,与所述客户操作系统相关的窗口。
2.根据权利要求I所述的显示处理方法,其特征在于,所述第一窗口为主操作系统根据第一窗口生成消息生成的窗口,且所述第一窗口生成消息为虚拟机接收到的由所述客户操作系统检测到需要产生窗口的第一事件时生成并发送的消息。
3.根据权利要求I所述的显示处理方法,其特征在于,使所述第二显示位置与第一窗口的第一显示位置不同包括 使所述第二窗口与所述第一窗口不重叠。
4.根据权利要求I所述的显示处理方法,其特征在于,所述主操作系统根据所述第二窗口生成消息生成第二窗口,并控制所述第二窗口显示于显示屏的第二显示位置,使所述第二显示位置与第一窗口的第一显示位置不同具体包括 所述主操作系统获取在生成所述第一窗口时保存的所述第一窗口的第一位置信息;所述主操作系统根据所述第一位置信息确定与所述第一位置信息不同的第二位置信息;所述主操作系统根据所述第二位置信息和所述第二窗口生成消息生成并显示所述第二窗口。
5.根据权利要求I所述的显示处理方法,其特征在于,所述第二窗口生成消息为客户操作系统中的应用调用客户操作系统内的第一图形应用程序编程接口的消息; 所述主操作系统根据所述第二窗口生成消息生成第二窗口,并控制所述第二窗口显示于显示屏的第二显示位置,使所述第二显示位置与第一窗口的第一显示位置不同具体包括 所述主操作系统根据所述第二窗口生成消息调用主操作系统内对应的第二图形应用程序编程接口进行处理; 所述第二图形应用程序编程接口封装显示数据和包括所述第一位置的显示参数,并转发封装后的显示参数和显示数据到显卡驱动,由显卡上的图形处理单元实现所述第二窗口的生成和显示。
6.根据权利要求5所述的显示处理方法,其特征在于,所述第一图形应用程序编程接口和第二图形应用程序编程接口为开放式图形处理库应用程序编程接口。
7.根据权利要求I所述的显示处理方法,其特征在于,还包括 所述主操作系统将检测到的对所述第二窗口执行的输入操作发送到所述虚拟机; 所述虚拟机将所述输入操作发送到所述客户操作系统;所述客户操作系统将所述输入操作对应的输入消息插入到所述第二窗口对应的消息队列中等待处理。
8.根据权利要求I所述的显示处理方法,其特征在于,还包括 所述客户操作系统在检测到对第二窗口进行修改的窗口修改指令时,生成窗口修改消息; 所述虚拟机接收所述客户操作系统发送的所述窗口修改消息; 所述虚拟机将所述窗口修改消息发送到所述主操作系统; 所述主操作系统依据所述窗口修改消息对所述第二窗口进行修改操作。
9.一种显示处理装置,用于一计算机系统,其特征在于,所述计算机系统中包括 基于物理硬件运行的主操作系统; 用于基于所述物理硬件模拟出逻辑硬件的虚拟机; 基于所述逻辑硬件运行的客户操作系统; 所述显示处理装置具体包括 设置于所述客户操作系统中的第一消息生成模块,用于检测到需要产生窗口的第二事件时,生成第二窗口生成消息; 设置于虚拟机中的第一接收模块,用于接收所述客户操作系统发送的所述第二窗口生成消息; 设置于虚拟机中的第一发送模块,用于将所述第二窗口生成消息发送到所述主操作系统; 设置于所述主操作系统中的窗口生成处理模块,用于根据所述第二窗口生成消息生成第二窗口,并控制所述第二窗口显示于显示屏的第二显示位置,使所述第二显示位置与第一窗口的第一显示位置不同,其中,所述第一窗口是所述主操作系统中显示的,与所述客户操作系统相关的窗口。
10.根据权利要求9所述的显示处理装置,其特征在于,所述第一窗口为主操作系统根据第一窗口生成消息生成的窗口,且所述第一窗口为主操作系统根据第一窗口生成消息生成的窗口,且所述第一窗口生成消息为虚拟机接收到的由所述客户操作系统检测到需要产生窗口的第一事件时生成并发送的消息。。
11.根据权利要求9所述的显示处理装置,其特征在于,所述第二显示位置与第一窗口的第一显示位置不同具体为所述第二窗口与所述第一窗口不重叠。
12.根据权利要求9所述的显示处理装置,其特征在于,所述窗口生成处理模块具体包括 获取单兀,用于获取在生成所述第一窗口时保存的所述第一窗口的第一位置信息;位置信息确定单元,用于根据所述第一位置信息确定与所述第一位置信息不同的第二位置信息; 窗口处理单元,用于根据所述第二位置信息和所述第二窗口生成消息生成并显示所述第二窗口。
13.根据权利要求9所述的显示处理装置,其特征在于,所述第二窗口生成消息为客户操作系统中的应用调用客户操作系统内的第一图形应用程序编程接口的消息; 所述窗口生成处理模块包括调用单元,用于根据所述第二窗口生成消息调用主操作系统内对应的第二图形应用程序编程接口进行处理,由所述第二图形应用程序编程接口封装显示数据和包括所述第一位置的显示参数,并转发封装后的显示参数和显示数据到显卡驱动,由显卡上的图形处理单元实现所述第二窗口的生成和显示。
14.根据权利要求13所述的显示处理方法,其特征在于,所述第一图形应用程序编程接口和第二图形应用程序编程接口为开放式图形处理库应用程序编程接口。
15.根据权利要求9所述的显示处理装置,其特征在于,还包括 设置于所述主操作系统中的第二发送模块,用于将检测到的对所述第二窗口执行的输入操作发送到所述虚拟机; 设置于虚拟机中的第三发送模块,用于将所述输入操作发送到所述客户操作系统;设置于所述客户操作系统中的插入单元,用于将所述输入操作对应的输入消息插入到所述第二窗口对应的消息队列中等待处理。
16.根据权利要求9所述的显示处理装置,其特征在于,还包括 设置于所述客户操作系统中的第二消息生成模块,用于在检测到对第二窗口进行修改的窗口修改指令时,生成窗口修改消息; 设置于虚拟机中的第二接收模块,用于接收所述客户操作系统发送的所述窗口修改消息; 设置于虚拟机中的第四发送模块,用于将所述窗口修改消息发送到所述主操作系统;设置于所述主操作系统中的窗口修改模块,用于依据所述窗口修改消息对所述第二窗口进行修改操作。
17.一种计算机系统,其特征在于,包括 基于物理硬件运行的主操作系统; 用于基于所述物理硬件模拟出逻辑硬件的虚拟机; 基于所述逻辑硬件运行的客户操作系统; 所述客户操作系统包括 第一消息生成模块,用于检测到需要产生窗口的第二事件时,生成第二窗口生成消息; 所述虚拟机包括 第一接收模块,用于接收所述客户操作系统发送的所述第二窗口生成消息;和 第一发送模块,用于将所述第二窗口生成消息发送到所述主操作系统; 所述主操作系统包括 窗口生成处理模块,用于根据所述第二窗口生成消息生成第二窗口,并控制所述第二窗口显示于显示屏的第二显示位置,使所述第二显示位置与第一窗口的第一显示位置不同,其中,所述第一窗口是所述主操作系统中显示的,与所述客户操作系统相关的窗口。
18.根据权利要求17所述的计算机系统,其特征在于,所述第一窗口为主操作系统根据第一窗口生成消息生成的窗口,且所述第一窗口生成消息为虚拟机接收到的由所述客户操作系统检测到需要产生窗口的第一事件时生成并发送的消息。
19.根据权利要求17所述的计算机系统,其特征在于,所述第二显示位置与第一窗口的第一显示位置不同具体为所述第二窗口与所述第一窗口不重叠。
全文摘要
本发明的目的在于提供一种显示处理方法、装置及计算机系统,该显示处理方法用于一计算机系统,包括所述客户操作系统检测到需要产生窗口的第二事件时,生成第二窗口生成消息;所述虚拟机接收所述客户操作系统发送的所述第二窗口生成消息;所述虚拟机将所述第二窗口生成消息发送到所述主操作系统;所述主操作系统根据所述第二窗口生成消息生成第二窗口,并控制所述第二窗口显示于显示屏的第二显示位置,使所述第二显示位置与第一窗口的第一显示位置不同,其中,所述第一窗口是所述主操作系统中显示的,与所述客户操作系统相关的窗口。本发明实现了客户操作系统的多个显示窗口在主操作系统中的同时显示。
文档编号G06F3/048GK102810040SQ20111014504
公开日2012年12月5日 申请日期2011年5月31日 优先权日2011年5月31日
发明者汤良, 张文超, 孙清涛 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1