WO2012163221A1 - 显示处理方法、装置及计算机系统 - Google Patents

显示处理方法、装置及计算机系统 Download PDF

Info

Publication number
WO2012163221A1
WO2012163221A1 PCT/CN2012/075359 CN2012075359W WO2012163221A1 WO 2012163221 A1 WO2012163221 A1 WO 2012163221A1 CN 2012075359 W CN2012075359 W CN 2012075359W WO 2012163221 A1 WO2012163221 A1 WO 2012163221A1
Authority
WO
WIPO (PCT)
Prior art keywords
window
operating system
message
display
virtual machine
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.)
Ceased
Application number
PCT/CN2012/075359
Other languages
English (en)
French (fr)
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
Beijing Lenovo Software Ltd
Original Assignee
Lenovo Beijing Ltd
Beijing Lenovo Software 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, Beijing Lenovo Software Ltd filed Critical Lenovo Beijing Ltd
Publication of WO2012163221A1 publication Critical patent/WO2012163221A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation

Definitions

  • Android (Android) ⁇ & operating system for the Linux kernel is the mobile operating system announced by Google on November 5, 2007.
  • Android runs on a virtual machine, due to the limitation of the Android system itself, it only supports one window, and cannot support the display of multiple windows, so that the user can only see one window even if it is running on the computer.
  • An embodiment of the present invention provides a display processing method for a computer system, where the computer system includes: a main operating system running on physical hardware;
  • first graphics application programming interface and the second graphics application programming interface are open graphics processing library application programming interfaces.
  • the above display processing method further comprising:
  • the primary operating system sends the detected input operation performed on the second window to the virtual machine;
  • the virtual machine sends the input operation to the guest operating system;
  • the guest operating system inserts an input message corresponding to the input operation into a message queue corresponding to the second window for processing.
  • the virtual machine sends the window modification message to the main operating system
  • the embodiment of the invention further provides a display processing device of a computer system, the computer system comprising: a main operating system running based on physical hardware;
  • the display processing device specifically includes:
  • a first message generating module configured to be configured in the guest operating system, to generate a second window generating message when detecting a second event that needs to generate a window
  • a first receiving module configured in the virtual machine, configured to receive the second window generating message sent from the guest operating system
  • a first sending module configured to send the second window generating message to the main operating system
  • a window generation processing module configured to generate a second window according to the second window generation message, and control the second window to be displayed on a second display position of the display screen, the second The display location is different from the first display location of the first window, wherein the first window is a previously displayed window associated with the guest operating system.
  • the first window is a window generated by the first window generating message
  • the first window is a window generated by the main operating system #> according to the first window.
  • the first window generation message is a message that is generated and sent by the virtual machine when the first event that the guest operating system detects that the window needs to be generated is detected. .
  • the second display position is different from the first display position of the first window, and specifically the second window does not overlap the first window.
  • window generation processing module specifically includes:
  • An obtaining unit configured to acquire first location information of the first window saved when the first window is generated
  • a location information determining unit configured to determine, according to the first location information, second location information that is different from the first location information
  • a window processing unit for generating and displaying the second window for the second location information and the second window generation message.
  • the second window generation message is a message for the application in the guest operating system to invoke a first graphics application programming interface in the guest operating system
  • the window generation processing module includes:
  • a calling unit configured to invoke a corresponding second graphics application programming interface in the main operating system according to the second window generation message, and the display data and the display including the first location are encapsulated by the second graphics application programming interface Parameters, and forwarding the encapsulated display parameters and display data to the graphics card driver to implement generation and display of the second window by a graphics processing unit on the graphics card.
  • the above display processing device wherein the first graphics application programming interface and the second graphics application programming interface are open graphics processing library application programming interfaces.
  • the above display processing device further comprising: a second sending module, configured in the main operating system, configured to send the detected input operation performed on the second window to the virtual machine;
  • a third sending module disposed in the virtual machine, configured to send the input operation to the customer operating system
  • An insertion unit disposed in the guest operating system, configured to insert an input message corresponding to the input operation into a message queue corresponding to the second window for processing.
  • the above display processing device further comprising:
  • a second message generating module configured to be in the guest operating system, configured to generate a window modification message when detecting a window modification instruction for modifying the second window;
  • a second receiving module configured to receive the window modification message sent by the guest operating system
  • a fourth sending module disposed in the virtual machine, configured to send the window modification message to the main operating system
  • a window modification module disposed in the main operating system, configured to perform a modification operation on the second window according to the window modification message.
  • the embodiment of the invention further provides a computer system, including:
  • the guest operating system includes:
  • a first message generating module configured to generate a second window generating message when detecting a second event that needs to generate a window
  • the virtual machine includes:
  • the main operating system includes:
  • a window generation processing module configured to generate a second window according to the second window generation message, and control the second window to be displayed on a second display position of the display screen, where the second display position is first with the first window
  • the display location is different, wherein the first window is a previously displayed window related to the guest operating system.
  • the first window is a window generated by the main operating system #> according to the first window, and the first window generating message is a first event that is received by the virtual machine and is detected by the guest operating system to generate a window. The message that is generated and sent.
  • the second display position is different from the first display position of the first window, in particular, the second window does not overlap with the first window.
  • a window generation message is generated, and the window generation message is sent by the virtual machine to the main operating system, and the main operating system receives the window generation.
  • the position of the window is first determined, and the new window is guaranteed to be different from the displayed position of the displayed window related to the guest operating system, and then the window is generated in the determined position to generate and display the window, so that the window is opened. It can be displayed at the same time, enabling multiple tasks to run in the foreground at the same time.
  • the main operating system directly uses hardware to complete the display of the window, which greatly improves the display speed relative to the simulation mode.
  • FIG. 1 is a schematic flow chart of a display processing method according to an embodiment of the present invention.
  • Figure 2 is a schematic view showing a case where the display positions of the windows are different in the display processing method of the embodiment of the present invention
  • FIG. 3 is a view showing another case in which the display positions of the windows are different in the display processing method of the embodiment of the present invention.
  • the window generation and management of the guest operating system is implemented by the main operating system, and the display positions of the plurality of windows corresponding to the guest operating system in the main operating system are different, and the multi-window is realized. Displayed at the same time.
  • the specific embodiment of the present invention relates to controlling and managing a window of a guest operating system running in a virtual machine.
  • Type 1 runs directly on the hardware system and is often referred to as the hardware virtualization engine
  • Type 2 runs as an application on top of the existing operating system.
  • the virtual machine involved in the specific embodiment of the present invention is a Type 2 virtual machine, such as Oracle's VirtualBox, Microsoft's Virtual PC, and China's designed VMlite.
  • a virtual machine that simulates logical hardware based on physical hardware and is a logical computer
  • the main operating system HOS is the operating system based on physical hardware running on the computer;
  • Guest operating system GOS the operating system running on the virtual machine.
  • a virtual machine is installed on a computer with Windows NT installed, and Linux is running on the virtual machine.
  • HOS refers to Windows NT
  • GOS is Linux.
  • the type of the main operating system is not limited, and it may be various operating systems capable of simultaneously displaying a plurality of windows, such as a Linux operating system, a soft window operating system, and various other various types.
  • the type of operating system, and the guest operating system can be various types of operating systems such as Android operating system, Symbian operating system, iOS, and the like.
  • FIG. 1 is a schematic flow chart of a display processing method according to an embodiment of the present invention.
  • the display processing method can be used in a computer system, the computer system can include: a main operating system running based on physical hardware; a virtual machine for simulating logical hardware based on the physical hardware; a guest operating system running based on the logical hardware.
  • the display processing method may include:
  • Step 11 The guest operating system generates a second window to generate a message when detecting a second event that needs to generate a window;
  • Step 12 The virtual machine receives the second window generation message sent by the guest operating system.
  • Step 13 The virtual machine sends the second window generation message to the main operating system.
  • Step 14 The second operating window generates a second window, and controls the second window to be displayed on the second display position of the display screen, where the second display position is different from the first display position of the first window.
  • the first window is a window that has been displayed related to the guest operating system.
  • a window generation message is generated, and the window generation message is sent by the virtual machine to the main operating system, and the window generation message includes generating The data required by the window, and after the main operating system receives the message generated by the window, first determines the position of the window, and ensures that the new window is different from the displayed position of the displayed window related to the guest operating system, and then determines The location is in the data to generate and display the window so that multiple windows can be displayed simultaneously.
  • the main operating system is an operating system running by physical hardware, so that the display of the window can be directly completed by using physical hardware, and the display speed is greatly improved compared with the simulation mode.
  • the event detected by the guest operating system and required to generate a window may be one or more of various types of events, such as:
  • the application icon is clicked
  • the guest operating system also includes many events that need to generate windows.
  • the control second window is displayed on the second display position of the display screen, and the second display location is displayed with the client.
  • the first display position of the first window related to the operating system is different.
  • the first window may be, for example, a window displaying a guest operating system, or a window corresponding to an application running in the guest operating system. In the following case, a case will be specifically described as follows.
  • the first window is a window generated by the main operating system #> according to the first window
  • the first window generating message is a first event received by the virtual machine and detected by the guest operating system to generate a window.
  • the first window is a window corresponding to an application running in the guest operating system
  • the following processing, operations, and the like are equally applicable to other situations, for example, the first window is to display the client.
  • the operating system's window is a window corresponding to an application running in the guest operating system
  • the main operating system may save the first location information of the first window when the first window is generated, and further determine the current to-be-generated window by using the location information of the first window (ie, the second window Location information to ensure that the newly generated window is not the same as the displayed position of the generated window.
  • the process may include, for example, the primary operating system acquiring first location information of the first window saved when the first window is generated, where the primary operating system determines the first location information And describing, by the main operating system, the second location information and the second window generation message to generate and display the second window.
  • the first window is generated in the main operating system (it should be understood that the window described here and the window mentioned later are all windows related to the GOS, not the window of the application in the HOS), since there is no other The existence of the window, so the position of the window can be arbitrarily determined, and the position information of the first window is saved after the generation;
  • the main operating system When the main operating system generates the second window, the first window already exists. At this time, the main operating system needs to determine the position information of the second window according to the saved position information of the first window, so as to ensure the first The display position of the window and the second window are different; when the nth window is generated by the main operating system, the first and second n-1th windows already exist, and the main operating system needs #>
  • the position information of the saved n-1 windows is used to determine the position information of the nth window to ensure that the display position of the nth window and all previous windows are different.
  • the embodiment of the present invention can also be used to implement the case where there are different display positions, without having to ensure that the display positions of all the windows are different, such as The first window is in the first position, and all other windows are in a second position different from the first position, which also enables simultaneous display of multiple windows.
  • the display position of the second window is different from the display position of the first window, and the display position may be:
  • the first window and the second window do not overlap, that is, the display areas of the two have no overlapping portions; or the display areas of the first window and the second window have overlapping portions and non-overlapping portions, and the two display positions are different.
  • the situation is shown in Figures 2 and 3, respectively.
  • the location information is display area information
  • the main operating system determines the second display area according to the display area information, so that the second display area does not overlap with the first display area of the first window. part.
  • the position information may be the coordinates of one vertex of the window, and the main operating system may determine the second according to the vertex coordinates of the first window.
  • the coordinates of the corresponding vertex of the second window are made different from the coordinates of the vertices of the saved first window.
  • DirectX OpenGL API
  • OpenGL API Open Graphics Library Application Programming Interface
  • the second window generation message may be a message indicating that the application in the guest operating system invokes the first graphical application programming interface within the guest operating system.
  • the main operating system generates a second window according to the second window generation message, and controls the second window to be displayed on the second display position of the display screen, the second display position and the first window.
  • the first display position difference may include:
  • the main operating system invokes a corresponding second graphics application programming interface in the main operating system according to the second window generation message;
  • the second graphics application programming interface encapsulates display data and display parameters including the first location, and forwards the encapsulated display parameters and display data to the graphics card driver to implement the second by a graphics processing unit on the graphics card Window generation and display.
  • the guest operating system is the Android operating system
  • the screen drawing by the user is completed by OpenGL
  • the first graphic application is Both the programming interface and the second graphics application programming interface are open graphics processing library application programming interfaces.
  • the operation of the window in the main operating system may be returned to a guest operating system such as Android.
  • the corresponding application also needs to send the modification of the window to the main operating system by the application in the guest operating system, and the main operating system performs corresponding processing to reflect the corresponding window display change.
  • the main/client operating system can manage the window through the message loop, and the input of the input device (such as keyboard, mouse, touchpad, etc.) is converted into an operating system message, and put into the message queue of the application corresponding to the window, waiting for processing.
  • the input device such as keyboard, mouse, touchpad, etc.
  • the transmission of the input can be implemented by sending a message indicating a window input operation or the like in the main operating system to the guest operating system.
  • the display processing method of the embodiment of the present invention can implement the input transmission by the following steps: The primary operating system sends the detected input operation performed on the second window to the virtual machine; the virtual machine sends the input operation to the guest operating system;
  • the guest operating system inserts an input message corresponding to the input operation into a message queue corresponding to the second window for processing.
  • the window can be modified in the guest operating system. This modification can be caused by two situations:
  • the user input in the window causes the need to change, such as a game window
  • the user may cause a change in the content of the window after performing a certain input operation, and a user of the game window may cause a change in the position of the window after being dragged;
  • the window needs to be modified due to the modification of the Android system, such as the user adjusting the display parameters in the Android operating system.
  • the modification process can include:
  • the guest operating system generates a window modification message when detecting a window modification instruction for modifying the second window
  • the virtual machine receives the window modification message sent by the guest operating system
  • the virtual machine sends the window modification message to the main operating system
  • the main operating system performs a modification operation on the second window according to the window modification message.
  • the window modification instruction may be caused by the user's input in the window, or it may be caused by the client operating system itself.
  • a shooting game which corresponds to a window X
  • the user inputs a certain operation, and shoots, at which time the main operating system passes the detected input operation to the guest operating system through the virtual machine;
  • the input message A corresponding to the input operation is inserted into the message queue corresponding to the shooting game for processing.
  • the application After the input message A is processed, the display effect of the bullet shot needs to be displayed on the screen.
  • the application When a window modification instruction for modifying the second window is generated, a window modification message is generated for processing, and the window modification message is received by the virtual machine and sent to the main operating system, according to the main operating system.
  • the window modification message performs a modification operation on the second window.
  • the graphical application programming interface in the operating system can be called, but the call of the guest operating system is sent to the main operating system, and the corresponding graphic application is called by the main operating system.
  • the programming interface encapsulates the display data and forwards it to the graphics card driver to effect modification of the window display by the graphics processing unit on the graphics card.
  • Fig. 4 is a block diagram showing the structure of a display processing apparatus according to an embodiment of the present invention.
  • the display processing device can be used in a computer system, the computer system comprising: a main operating system 40 running on physical hardware; a virtual machine 44 for simulating logical hardware based on the physical hardware; and client operations running based on the logical hardware System 42;
  • the display processing device may include:
  • the first message generating module 420 configured to be in the guest operating system 42, is configured to generate a second window generating message when detecting a second event that needs to generate a window;
  • the first receiving module 440 is disposed in the virtual machine 44, and configured to receive the second window generating message sent from the guest operating system 42;
  • the first sending module 442 is disposed in the virtual machine 44, and configured to send the second window generating message to the main operating system 40;
  • a window generation processing module 400 configured to generate a second window according to the second window generation message, and control the second window to be displayed on a second display position of the display screen,
  • the second display location is different from the first display location of the first window, wherein the first window may be a window that has been displayed associated with the guest operating system 42.
  • the first window may be a window generated by the main operating system 40 according to the first window generation message, and the first window generation message is generated when the first event received by the virtual machine 44 and detected by the guest operating system 42 is required to generate a window. And send the message.
  • An obtaining unit configured to acquire first location information of the first window saved when the first window is generated
  • the second window generation message may be a message that the application in the guest operating system invokes the first graphical application programming interface within the guest operating system.
  • the window generation processing module 400 may include:
  • a calling unit configured to invoke a corresponding second graphics application programming interface in the main operating system 40 according to the second window generation message, where the display data is encapsulated by the second graphics application programming interface and includes the first location
  • the parameters are displayed, and the encapsulated display parameters and display data are forwarded to the graphics card driver to implement the generation and display of the second window by the graphics processing unit on the graphics card.
  • the first graphics application programming interface and the second graphics application programming interface can be an open graphics processing library application programming interface.
  • the above display processing device may further include:
  • a second sending module disposed in the main operating system 40, configured to send the detected input operation performed on the second window to the virtual machine 44;
  • An insertion unit disposed in the guest operating system 42 is configured to insert an input message corresponding to the input operation into a message queue corresponding to the second window for processing.
  • a second message generating module configured in the guest operating system 42, configured to generate a window modification message when detecting a window modification instruction for modifying the second window
  • a second receiving module configured in the virtual machine 44, configured to receive the window modification message sent by the guest operating system 42;
  • a fourth sending module disposed in the virtual machine 44, configured to send the window modification message to the main operating system 40;
  • a window modification module disposed in the main operating system 40, configured to perform a modification operation on the second window according to the window modification message.
  • the embodiment of the invention further provides a computer system, including:
  • a main operating system running on physical hardware
  • a virtual machine for simulating logical hardware based on the physical hardware
  • the guest operating system includes:
  • a first message generating module configured to generate a second window generating message when detecting a second event that needs to generate a window
  • the virtual machine includes:
  • the main operating system includes:
  • a window generation processing module configured to generate a second window according to the second window generation message, and control the second window to be displayed on a second display position of the display screen, where the second display position is first with the first window The display location is different, wherein the first window is a window that has been displayed related to the guest operating system.
  • the first window may be a window generated by the main operating system according to the first window generating message, and the first window generating message may be a first event received by the virtual machine and detected by the guest operating system to generate a window.
  • the second display position being different from the first display position of the first window may be that the second window does not overlap the first window.
  • the modules may be implemented in software for execution by various types of processors.
  • an identified executable code module can comprise one or more physical or logical blocks of computer instructions, which can be constructed, for example, as an object, procedure, or function. Nonetheless, the executable code of the identified modules need not be physically located together, but may include different instructions stored in different bits. When these instructions are logically combined, they form a module and implement the specifications of the module. purpose.
  • the executable code module can be a single instruction or a plurality of instructions, and can even be distributed over a plurality of different code segments, distributed among different programs, and distributed across multiple memory devices.
  • operational data can be identified within the module and can be implemented in any suitable form and organized within any suitable type of data structure. The operational data may be collected as a single data set, or may be distributed at different locations (including on different storage devices), and may at least partially reside as an electronic signal on a system or network.
  • Modules When the module can be implemented by software, considering the level of the existing hardware process, it can be implemented in software. Modules, regardless of cost, those skilled in the art can construct corresponding hardware circuits to implement corresponding functions, including conventional very large scale integration (VLSI) circuits or gate arrays and such as logic chips, Existing semiconductors such as transistors are other discrete components. Modules can also be implemented with programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices, and the like.
  • VLSI very large scale integration
  • programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明提供了一种显示处理方法、装置及计算机系统,该显示处理方法包括:所述客户操作系统在检测到需要产生窗口的第二事件时,生成第二窗口生成消息;所述虚拟机接收所述客户操作系统发送的所述第二窗口生成消息;所述虚拟机将所述第二窗口生成消息发送到所述主操作系统;所述主操作系统根据所述第二窗口生成消息生成第二窗口,并控制所述第二窗口显示于显示屏的第二显示位置,所述第二显示位置与第一窗口的第一显示位置不同,其中,所述第一窗口是先前显示的与所述客户操作系统相关的窗口。本发明实现了客户操作系统的多个显示窗口在主操作系统中的同时显示。

Description

显示处理方法、 装置及计算机系统 技术领域
本发明涉及电子领域, 特别涉及一种显示处理方法、 装置及计算机系统。 背景技术
Android (安卓) ^&于 Linux内核的操作系统, 是 Google公司在 2007年 11 月 5 日公布的手机操作系统。
上市时间不久的 Android操作系统已经成为最受欢迎的智能手机平台之一, 已经 广泛应用于智能手机和平板电脑。
虚拟机指通过软件模拟的具有完整硬件系统功能的、 运行在一个完全隔离环境中 的完整计算机系统。 通过虚拟机软件, 可以在一台物理计算机上模拟出一台或多台虚 拟的计算机, 这些虚拟机完全就像真正的计算机那样进行工作, 例如可以安装操作系 统、 安装应用程序、 访问网络资源等等。 对于用户而言, 它只是运行在物理计算机上 的一个应用程序, 但是对于在虚拟机中运行的应用程序而言, 它就是一台真正的计算 机。
目前已经可以基于虚拟机来提供逻辑硬件 , 并基于虚拟机虚拟出来的逻辑硬件运 行 Android操作系统, 从而使得用户可以在个人电脑中来体验 Android操作系统, 然 而, 发明人在实现本发明实施例的过程中发现, 现有技术至少存在如下缺点:
目前 Android运行在虚拟机上的时候, 由于 Android系统本身的限制, 其只支持 一个窗口, 而无法支持多窗口的显示, 导致用户即使在计算机中运行, 也只能看到一 个窗口。
当然, 以上是以 Android操作系统在虚拟机上的运行为例说明现有技术的缺点, 但同样的问题也存在于其他类型的操作系统, 如 Symbian (塞班)操作系统, 苹果公 司为 iPhone开发的操作系统 iOS。 发明内容
本发明实施例提供一种显示处理方法、 装置及计算机系统, 基于虚拟机来实现客 户操作系统的多个窗口的同时显示。
本发明实施例提供了一种计算机系统的显示处理方法, 所述计算机系统包括: 基于物理硬件运行的主操作系统;
用于基于所述物理硬件模拟出逻辑硬件的虚拟机;
基于所述逻辑硬件运行的客户操作系统;
所述显示处理方法包括:
所述客户操作系统在检测到需要产生窗口的第二事件时, 生成第二窗口生成消 息;
所述虚拟机接收从所述客户操作系统发送的所述第二窗口生成消息; 所述虚拟机将所述第二窗口生成消息发送到所述主操作系统;
所述主操作系统才 居所述第二窗口生成消息生成第二窗口,并控制所述第二窗口 显示于显示屏的第二显示位置, 所述第二显示位置与第一窗口的第一显示位置不同, 其中, 所述第一窗口是先前显示的与所述客户操作系统相关的窗口。
上述的显示处理方法,其中, 所述第一窗口为主操作系统才 居第一窗口生成消息 生成的窗口, 且所述第一窗口生成消息为虚拟机接收到的由所述客户操作系统检测到 需要产生窗口的第一事件时生成并发送的消息。。
上述的显示处理方法,其中, 所述第二显示位置与第一窗口的第一显示位置不同 包括:
所述第二窗口与所述第一窗口不重叠。
上述的显示处理方法,其中, 所述主操作系统才 居所述第二窗口生成消息生成第 二窗口, 并控制所述第二窗口显示于显示屏的第二显示位置, 所述第二显示位置与第 一窗口的第一显示位置不同包括:
所述主操作系统获取在生成所述第一窗口时保存的所述第一窗口的第一位置信 息;
所述主操作系统根据所述第一位置信息确定与所述第一位置信息不同的第二位 置信息;
所述主操作系统根据所述第二位置信息和所述第二窗口生成消息生成并显示所 述第二窗口。
上述的显示处理方法,其中, 所述第二窗口生成消息为指示了客户操作系统中的 应用调用客户操作系统内的第一图形应用程序编程接口的消息;
所述主操作系统才 居所述第二窗口生成消息生成第二窗口,并控制所述第二窗口 显示于显示屏的第二显示位置, 所述第二显示位置与第一窗口的第一显示位置不同包 括:
所述主操作系统根据所述第二窗口生成消息调用主操作系统内对应的第二图形 应用程序编程接口;
所述第二图形应用程序编程接口封装显示数据和包括所述第一位置的显示参数, 并转发封装后的显示参数和显示数据到显卡驱动, 以由显卡上的图形处理单元实现所 述第二窗口的生成和显示。
上述的显示处理方法,其中, 所述第一图形应用程序编程接口和第二图形应用程 序编程接口为开放式图形处理库应用程序编程接口。
上述的显示处理方法, 其中, 还包括:
所述主操作系统将检测到的对所述第二窗口执行的输入操作发送到所述虚拟机; 所述虚拟机将所述输入操作发送到所述客户操作系统;
所述客户操作系统将所述输入操作对应的输入消息插入到所述第二窗口对应的 消息队列中等待处理。
上述的显示处理方法, 其中, 还包括:
所述客户操作系统在检测到对第二窗口进行修改的窗口修改指令时,生成窗口修 改消息;
所述虚拟机接收所述客户操作系统发送的所述窗口修改消息;
所述虚拟机将所述窗口修改消息发送到所述主操作系统;
所述主操作系统依据所述窗口修改消息对所述第二窗口进行修改操作。
本发明实施例还提供了一种计算机系统的显示处理装置, 所述计算机系统包括: 基于物理硬件运行的主操作系统;
用于基于所述物理硬件模拟出逻辑硬件的虚拟机;
基于所述逻辑硬件运行的客户操作系统;
所述显示处理装置具体包括:
设置于所述客户操作系统中的第一消息生成模块,用于在检测到需要产生窗口的 第二事件时, 生成第二窗口生成消息;
设置于虚拟机中的第一接收模块,用于接收从所述客户操作系统发送的所述第二 窗口生成消息; 设置于虚拟机中的第一发送模块,用于将所述第二窗口生成消息发送到所述主操 作系统;
设置于所述主操作系统中的窗口生成处理模块,用于根据所述第二窗口生成消息 生成第二窗口, 并控制所述第二窗口显示于显示屏的第二显示位置, 所述第二显示位 置与第一窗口的第一显示位置不同, 其中, 所述第一窗口是先前显示的与所述客户操 作系统相关的窗口。
上述的显示处理装置,其中, 所述第一窗口为主操作系统才 居第一窗口生成消息 生成的窗口, 且所述第一窗口为主操作系统 #>据第一窗口生成消息生成的窗口, 且所 述第一窗口生成消息为虚拟机接收到的由所述客户操作系统检测到需要产生窗口的 第一事件时生成并发送的消息。。
上述的显示处理装置,其中, 所述第二显示位置与第一窗口的第一显示位置不同 具体为所述第二窗口与所述第一窗口不重叠。
上述的显示处理装置, 其中, 所述窗口生成处理模块具体包括:
获取单元, 用于获取在生成所述第一窗口时保存的所述第一窗口的第一位置信 息;
位置信息确定单元,用于# ^据所述第一位置信息确定与所述第一位置信息不同的 第二位置信息;
窗口处理单元,用于才 居所述第二位置信息和所述第二窗口生成消息生成并显示 所述第二窗口。
上述的显示处理装置,其中, 所述第二窗口生成消息为客户操作系统中的应用调 用客户操作系统内的第一图形应用程序编程接口的消息;
所述窗口生成处理模块包括:
调用单元,用于根据所述第二窗口生成消息调用主操作系统内对应的第二图形应 用程序编程接口, 由所述第二图形应用程序编程接口封装显示数据和包括所述第一位 置的显示参数, 并转发封装后的显示参数和显示数据到显卡驱动, 以由显卡上的图形 处理单元实现所述第二窗口的生成和显示。
上述的显示处理装置,其中, 所述第一图形应用程序编程接口和第二图形应用程 序编程接口为开放式图形处理库应用程序编程接口。
上述的显示处理装置, 其中, 还包括: 设置于所述主操作系统中的第二发送模块,用于将检测到的对所述第二窗口执行 的输入操作发送到所述虚拟机;
设置于虚拟机中的第三发送模块, 用于将所述输入操作发送到所述客户操作系 统;
设置于所述客户操作系统中的插入单元,用于将所述输入操作对应的输入消息插 入到所述第二窗口对应的消息队列中等待处理。
上述的显示处理装置, 其中, 还包括:
设置于所述客户操作系统中的第二消息生成模块,用于在检测到对第二窗口进行 修改的窗口修改指令时, 生成窗口修改消息;
设置于虚拟机中的第二接收模块,用于接收所述客户操作系统发送的所述窗口修 改消息;
设置于虚拟机中的第四发送模块,用于将所述窗口修改消息发送到所述主操作系 统;
设置于所述主操作系统中的窗口修改模块, 用于依据所述窗口修改消息对所述第 二窗口进行修改操作。
本发明实施例还提供了一种计算机系统, 包括:
基于物理硬件运行的主操作系统;
用于基于所述物理硬件模拟出逻辑硬件的虚拟机;
基于所述逻辑硬件运行的客户操作系统;
所述客户操作系统包括:
第一消息生成模块, 用于在检测到需要产生窗口的第二事件时, 生成第二窗口生 成消息;
所述虚拟机包括:
第一接收模块, 用于接收从所述客户操作系统发送的所述第二窗口生成消息; 和 第一发送模块, 用于将所述第二窗口生成消息发送到所述主操作系统; 所述主操作系统包括:
窗口生成处理模块, 用于根据所述第二窗口生成消息生成第二窗口, 并控制所述 第二窗口显示于显示屏的第二显示位置, 所述第二显示位置与第一窗口的第一显示位 置不同, 其中, 所述第一窗口是先前显示的与所述客户操作系统相关的窗口。 所述第一窗口为主操作系统 #>据第一窗口生成消息生成的窗口,且所述第一窗口 生成消息为虚拟机接收到的由所述客户操作系统检测到需要产生窗口的第一事件时 生成并发送的消息。
所述第二显示位置与第一窗口的第一显示位置不同具体为所述第二窗口与所述 第一窗口不重叠。
在本发明的具体实施例中, 在客户操作系统检测到需要产生窗口的事件时, 生成 一窗口生成消息, 该窗口生成消息由虚拟机发送到主操作系统, 而主操作系统接收到 该窗口生成消息后首先确定窗口的位置, 保证该新窗口与已显示的与所述客户操作系 统相关的窗口的显示位置不同, 然后在确定的位置才 居窗口生成消息来生成并显示窗 口, 使得多个窗口可以同时显示, 从而能够实现多任务同时在前台运行。
在本发明的具体实施例中, 主操作系统直接利用硬件来完成窗口的显示, 相对于 模拟方式大大提高了显示速度。 附图说明
图 1是根据本发明实施例的显示处理方法的流程示意图;
图 2是才 居本发明实施例的显示处理方法中窗口显示位置不同的一种情况的示意 图;
图 3是才 居本发明实施例的显示处理方法中窗口显示位置不同的另一种情况的示 意图;
图 4是根据本发明实施例的显示处理装置的结构示意图。 具体实施方式
根据本发明实施例的显示处理方法和装置中, 由主操作系统来实现客户操作系统 的窗口生成和管理, 保证客户操作系统对应的多个窗口在主操作系统中的显示位置不 同, 实现多窗口的同时显示。
本发明具体实施例涉及对虚拟机中运行的客户操作系统的窗口进行控制和管理, 在此先对涉及到的一些概念进行说明如下。
目前存在两种类型的虚拟化技术, Type 1是直接运行于硬件系统之上, 也经常 被称为硬件虚拟化引擎, 而 Type 2则是以作为现有操作系统之上的应用程序来运行。 在本发明的具体实施例中涉及到的虚拟机为 Type 2虚拟机, 如 Oracle的 VirtualBox、 微软公司的 Virtual PC、 以及中国设计的 VMlite等。
下面 Type 2虚拟机中的一些概念说明如下。
虚拟机, 基于物理硬件模拟出逻辑硬件, 是逻辑上的计算机;
主操作系统 HOS , 是指计算机上基于物理硬件运行的操作系统;
客户操作系统 GOS, 运行在虚拟机上的操作系统。
例如在一台安装了 Windows NT 的计算机上安装了虚拟机, 虚拟机上运行的是 Linux, 那么, HOS指的 Windows NT, 而 GOS为 Linux。
同时, 在本发明的具体实施例中, 并不限定该主操作系统的类型, 其可以是各种 能够同时显示多个窗口的操作系统, 如 Linux操作系统、 软的窗口操作系统以及其 他各种类型的操作系统, 而客户操作系统可以是如 Android操作系统、 Symbian操作 系统、 iOS等各种类型的操作系统。
图 1是根据本发明实施例的显示处理方法的流程示意图。 该显示处理方法可用 于计算机系统, 该计算机系统可以包括: 基于物理硬件运行的主操作系统; 用于基于 所述物理硬件模拟出逻辑硬件的虚拟机; 基于所述逻辑硬件运行的客户操作系统。
如图 1所示, 该显示处理方法可以包括:
步骤 11 , 客户操作系统在检测到需要产生窗口的第二事件时, 生成第二窗口生 成消息;
步骤 12 , 虚拟机接收从所述客户操作系统发送的所述第二窗口生成消息; 步骤 13 , 所述虚拟机将所述第二窗口生成消息发送到所述主操作系统; 步骤 14, 所述主操作系统才 居所述第二窗口生成消息生成第二窗口, 并控制所 述第二窗口显示于显示屏的第二显示位置, 所述第二显示位置与第一窗口的第一显示 位置不同, 其中, 所述第一窗口是已显示的与所述客户操作系统相关的窗口。
在本发明的具体实施例中,在客户操作系统在检测到需要产生窗口的事件时,会 生成一窗口生成消息, 该窗口生成消息由虚拟机发送到主操作系统, 该窗口生成消息 包括了生成该窗口所需的数据, 而主操作系统接收到该窗口生成消息后, 首先确定窗 口的位置, 保证该新窗口与已显示的与所述客户操作系统相关的窗口的显示位置不 同, 然后在确定的位置才 居数据来生成并显示窗口, 使得多个窗口可以同时显示。
在本发明的具体实施例中, 主操作系统是利用物理硬件运行的操作系统, 因此可 以直接利用物理硬件完成窗口的显示, 相对于模拟方式大大提高了显示速度。 在本发明的具体实施例中,客户操作系统检测到的需要产生窗口的事件可以是如 下的各类事件中的一个或多个, 如:
应用程序图标被点击;
通过应用程序内部模块新建一个文档;
通过应用程序内部模块新打开一个已有文档。
当然, 以上仅仅是举例, 客户操作系统中还包括很多需要产生窗口的事件, 在此 不——列举。
在本发明的具体实施例中,在主操作系统接收到第二窗口生成消息后,控制第二 窗口显示于显示屏的第二显示位置, 所述第二显示位置与已显示的与所述客户操作系 统相关的第一窗口的第一显示位置不同。 所述第一窗口例如可以是显示客户操作系统 的窗口, 也可以是客户操作系统中运行的应用程序对应的窗口。 在此以后一种情况为 例具体说明如下。
例如, 第一窗口为主操作系统 #>据第一窗口生成消息生成的窗口,且所述第一窗 口生成消息为虚拟机接收到的由所述客户操作系统检测到需要产生窗口的第一事件 时生成并发送的消息。 也就是说, 该第一窗口的生成过程可以与第二窗口的生成过程 基本上相同, 二者可以是同一种类型的窗口。
虽然以下以第一窗口是客户操作系统中运行的应用程序对应的窗口为例进行说 明, 但应当理解的是, 下文中的处理、 操作等同样适用于其他情况, 例如第一窗口是 显示该客户操作系统的窗口的情况。
本发明具体实施例中,主操作系统可以在生成所述第一窗口时保存第一窗口的第 一位置信息,进而通过该第一窗口的位置信息来确定当前待生成窗口(即, 第二窗口) 的位置信息, 以保证新生成窗口与已生成窗口的显示位置不同。 换言之, 这一过程例 如可以包括: 主操作系统获取在生成所述第一窗口时保存的所述第一窗口的第一位置 信息; 所述主操作系统才 居所述第一位置信息确定与所述第一位置信息不同的第二位 置信息; 所述主操作系统才 居所述第二位置信息和所述第二窗口生成消息生成并显示 所述第二窗口。
例如, 假设要显示 n个窗口, 窗口显示位置的确定过程可以说明如下。
在主操作系统生成第一个窗口(应当理解在此所述的窗口以及之后提到的窗口都 是与 GOS相关的窗口, 而不是 HOS中的应用程序的窗口) 时, 由于此时并没有其他 窗口的存在, 因此可以任意确定该窗口的位置, 并在生成后保存第一个窗口的位置信 息;
在主操作系统生成第二个窗口时,此时已经存在第一个窗口,此时主操作系统需 要根据保存的第一个窗口的位置信息来确定第二个窗口的位置信息, 以保证第一个窗 口和第二个窗口的显示位置不同; 在主操作系统生成第 n个窗口时, 此时已经存在第一个、 第二个 第 n-1个 窗口, 此时主操作系统需要 #>据保存的 n-1个窗口的位置信息来确定第 n个窗口的位 置信息, 以保证第 n个窗口和之前的所有窗口的显示位置不同。
上述说明是以所有窗口的显示位置不同进行的说明,但应当理解的是,本发明实 施例也可以用于实现存在显示位置不同的窗口的情况, 而不必保证所有的窗口的显示 位置不同, 如第一个窗口位于第一位置, 而其他所有的窗口都位于与第一位置不同的 第二位置, 其也实现了多个窗口的同时显示。
在本发明的具体实施例中,需要保证第二窗口的显示位置与第一窗口的显示位置 不同, 该显示位置不同可以是:
第一窗口和第二窗口不重叠, 即二者的显示区域没有重叠的部分; 或者 第一窗口和第二窗口的显示区域既存在重叠的部分, 又存在不重叠的部分, 两种 显示位置不同的情况分别如图 2和图 3所示。
这两种方式下, 保证显示位置不同的处理过程不同, 分别说明如下。
在保证第一窗口和第二窗口不重叠时,位置信息为显示区域信息, 主操作系统根 据显示区域信息确定第二显示区域, 使得该第二显示区域与第一窗口的第一显示区域 没有重叠的部分。
在第一窗口和第二窗口的显示区域既存在重叠的部分, 又存在不重叠的部分时, 位置信息可以是窗口的一个顶点的坐标, 主操作系统可以根据第一窗口的顶点坐标确 定第二显示位置时, 使得第二窗口的对应顶点的坐标与保存的第一窗口的顶点的坐标 不同。
从目前来看, 不论是哪一种类型的图形芯片, 总会支持某个版本的 DirectX或 OpenGL API ( Open Graphics Library Application Programming Interface , 开放式图形处 理库应用程序编程接口)。 API是连接应用程序、 操作系统和底层硬件的紐带, 是软件函数的集合, 这些预 先编写好的函数可以对硬件进行直接控制, 具有通用性。
第二窗口生成消息可以是指示了客户操作系统中的应用调用客户操作系统内的 第一图形应用程序编程接口的消息。
在这种情况下, 主操作系统# ^据第二窗口生成消息生成第二窗口, 并控制所述第 二窗口显示于显示屏的第二显示位置, 所述第二显示位置与第一窗口的第一显示位置 不同可以包括:
所述主操作系统根据第二窗口生成消息调用主操作系统内对应的第二图形应用 程序编程接口;
所述第二图形应用程序编程接口封装显示数据和包括所述第一位置的显示参数, 并转发封装后的显示参数和显示数据到显卡驱动, 以由显卡上的图形处理单元实现所 述第二窗口的生成和显示。
在本发明的具体实施例中,当客户操作系统是 Android操作系统时,由于在 Android 系统中,低层绘图合成工作是由 OpenGL完成,用户所看到屏幕绘图用 OpenGL完成, 所以该第一图形应用程序编程接口和第二图形应用程序编程接口都是开放式图形处 理库应用程序编程接口。
当然, 应当理解的是, 考虑到技术的不断发展以及厂商之间的不断协作, 后续的 Android操作系统也有可能支持 DirectX,但具体支持何种图形 API接口不应该成为本 发明实施例的限定。
按照本发明实施例的方法在主操作系统生成并显示该窗口后, 还可以将用户在主 操作系统中对窗口的操作 (如拖拉、 在窗口中进行输入等) 返回给例如 Android等客 户操作系统中对应的应用程序, 同时也需要将客户操作系统中应用程序对窗口的修改 发送到主操作系统, 由主操作系统进行相应处理, 以体现对应的窗口显示变化。
主 /客户操作系统都可以通过消息循环来管理窗口, 输入设备(例如键盘、 鼠标、 触摸板等) 的输入转化成操作系统消息, 并放入窗口对应的应用程序的消息队列中, 等待处理。
因此,可以通过将主操作系统中指示了窗口输入操作等的消息发送到客户操作系 统, 实现输入的传输, 在此, 本发明实施例的显示处理方法可以通过如下步骤实现输 入的传输: 所述主操作系统将检测到的对所述第二窗口执行的输入操作发送到所述虚拟机; 所述虚拟机将所述输入操作发送到所述客户操作系统;
所述客户操作系统将所述输入操作对应的输入消息插入到所述第二窗口对应的 消息队列中等待处理。
可以在客户操作系统中对窗口进行修改, 这种修改可能是两种情况引起的:
1、 由于用户在窗口的输入导致需要^ "改,如一个游戏窗口用户执行一定的 输入操作后会引起窗口内容的变化,又如一个游戏窗口用户拖拉后会引 起窗口位置的变化;
2、 由于 Android系统的修改导致窗口需要修改, 如用户在 Android操作系 统中调节显示参数。
因此, 这种修改有可能与之前提到的对所述第二窗口执行的输入操作有关, 也有 可能是与之无关。 修改过程可以包括:
所述客户操作系统在检测到对第二窗口进行修改的窗口修改指令时,生成窗口修 改消息;
所述虚拟机接收所述客户操作系统发送的所述窗口修改消息;
所述虚拟机将所述窗口修改消息发送到所述主操作系统;
所述主操作系统依据所述窗口修改消息对所述第二窗口进行修改操作。
在此,该窗口修改指令有可能是由用户在窗口的输入导致的,也有可能是客户操 作系统本身所导致的。
下面以用户在窗口的输入导致窗口修改为例说明如下。
假定存在一个射击游戏, 其对应一窗口 X, 用户输入某一个操作, 进行射击, 此 时主操作系统将检测到的输入操作通过所述虚拟机传递到所述客户操作系统; 客户操 作系统将所述输入操作对应的输入消息 A插入到射击游戏对应的消息队列中等待处 理。
当该输入消息 A被处理后, 需要在屏幕上显示子弹射出的显示效果, 此时, 应 用程序会生成对应的窗口修改指令, 以实现子弹射出的显示效果, 而客户操作系统在 检测到应用程序产生了对第二窗口进行修改的窗口修改指令时, 会生成一个窗口修改 消息来进行处理, 该窗口修改消息由所述虚拟机接收后发送到所述主操作系统, 由主 操作系统依据所述窗口修改消息对所述第二窗口进行修改操作。 在此, 不管是主操作系统, 还是客户操作系统, 都可以调用操作系统内的图形应 用程序编程接口, 但是客户操作系统的调用被发送到主操作系统, 由主操作系统调用 相应的图形应用程序编程接口来封装显示数据, 并转发到显卡驱动, 以由显卡上的图 形处理单元实现窗口显示的修改。
图 4是才 居本发明实施例的显示处理装置的结构示意图。显示处理装置可以用于 计算机系统, 该计算机系统包括: 基于物理硬件运行的主操作系统 40; 用于基于所述 物理硬件模拟出逻辑硬件的虚拟机 44; 以及基于所述逻辑硬件运行的客户操作系统 42;
如图 4所示, 显示处理装置可以包括:
设置于所述客户操作系统 42中的第一消息生成模块 420, 用于检测到需要产生 窗口的第二事件时, 生成第二窗口生成消息;
设置于虚拟机 44中的第一接收模块 440 , 用于接收从客户操作系统 42发送的所 述第二窗口生成消息;
设置于虚拟机 44中的第一发送模块 442, 用于将所述第二窗口生成消息发送到 所述主操作系统 40;
设置于所述主操作系统 40中的窗口生成处理模块 400, 用于根据所述第二窗口 生成消息生成第二窗口, 并控制所述第二窗口显示于显示屏的第二显示位置, 所述第 二显示位置与第一窗口的第一显示位置不同, 其中, 所述第一窗口可以是已显示的与 所述客户操作系统 42相关的窗口。
第一窗口可以是主操作系统 40根据第一窗口生成消息生成的窗口, 且第一窗口 生成消息为虚拟机 44接收到的由所述客户操作系统 42检测到需要产生窗口的第一事 件时生成并发送的消息。
第二显示位置与第一窗口的第一显示位置不同可以是所述第二窗口与所述第一 窗口不重叠。
所述窗口生成处理模块 400可以包括:
获取单元, 用于获取在生成所述第一窗口时保存的所述第一窗口的第一位置信 息;
位置信息确定单元,用于# ^据所述第一位置信息确定与所述第一位置信息不同的 第二位置信息; 窗口处理单元,用于才 居所述第二位置信息和所述第二窗口生成消息生成并显示 所述第二窗口。
第二窗口生成消息可以是客户操作系统中的应用调用客户操作系统内的第一图 形应用程序编程接口的消息。
此时, 窗口生成处理模块 400可以包括:
调用单元, 用于根据所述第二窗口生成消息调用主操作系统 40内对应的第二图 形应用程序编程接口, 由所述第二图形应用程序编程接口封装显示数据和包括所述第 一位置的显示参数, 并转发封装后的显示参数和显示数据到显卡驱动, 以由显卡上的 图形处理单元实现所述第二窗口的生成和显示。
第一图形应用程序编程接口和第二图形应用程序编程接口可以是开放式图形处 理库应用程序编程接口。
上述的显示处理装置还可以包括:
设置于所述主操作系统 40中的第二发送模块, 用于将检测到的对所述第二窗口 执行的输入操作发送到所述虚拟机 44;
设置于虚拟机 44中的第三发送模块, 用于将所述输入操作发送到所述客户操作 系统 42;
设置于所述客户操作系统 42中的插入单元, 用于将所述输入操作对应的输入消 息插入到所述第二窗口对应的消息队列中等待处理。
上述的显示处理装置还可以包括:
设置于所述客户操作系统 42中的第二消息生成模块, 用于在检测到对第二窗口 进行修改的窗口修改指令时, 生成窗口修改消息;
设置于虚拟机 44中的第二接收模块,用于接收所述客户操作系统 42发送的所述 窗口修改消息;
设置于虚拟机 44中的第四发送模块, 用于将所述窗口修改消息发送到所述主操 作系统 40;
设置于所述主操作系统 40 中的窗口修改模块, 用于依据所述窗口修改消息对所 述第二窗口进行修改操作。
本发明实施例还提供了一种计算机系统, 包括:
基于物理硬件运行的主操作系统; 用于基于所述物理硬件模拟出逻辑硬件的虚拟机;
基于所述逻辑硬件运行的客户操作系统;
所述客户操作系统包括:
第一消息生成模块, 用于在检测到需要产生窗口的第二事件时, 生成第二窗口生 成消息;
所述虚拟机包括:
第一接收模块, 用于接收从所述客户操作系统发送的所述第二窗口生成消息; 和 第一发送模块, 用于将所述第二窗口生成消息发送到所述主操作系统; 所述主操作系统包括:
窗口生成处理模块, 用于根据所述第二窗口生成消息生成第二窗口, 并控制所述 第二窗口显示于显示屏的第二显示位置, 所述第二显示位置与第一窗口的第一显示位 置不同, 其中, 所述第一窗口是已显示的与所述客户操作系统相关的窗口。
所述第一窗口可以是主操作系统根据第一窗口生成消息生成的窗口,且所述第一 窗口生成消息可以是虚拟机接收到的由所述客户操作系统检测到需要产生窗口的第 一事件时生成并发送的消息。
所述第二显示位置与第一窗口的第一显示位置不同可以是所述第二窗口与所述 第一窗口不重叠。
本发明实施例中, 模块可以用软件实现, 以便由各种类型的处理器执行。 举例来 说, 一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块, 举例来说, 其可以被构建为对象、 过程或函数。 尽管如此, 所标识模块的可执行代码 无需物理地位于一起, 而是可以包括存储在不同位里上的不同的指令, 当这些指令逻 辑上结合在一起时, 其构成模块并且实现该模块的规定目的。
实际上, 可执行代码模块可以是单条指令或者是许多条指令, 并且甚至可以分布 在多个不同的代码段上, 分布在不同程序当中, 以及跨越多个存储器设备分布。 同样 地, 操作数据可以在模块内被识别, 并且可以依照任何适当的形式实现并且被组织在 任何适当类型的数据结构内。 所述操作数据可以作为单个数据集被收集, 或者可以分 布在不同位置上 (包括在不同存储设备上), 并且至少部分地可以仅作为电子信号存 在于系统或网络上。
在模块可以利用软件实现时, 考虑到现有硬件工艺的水平, 所以可以以软件实现 的模块, 在不考虑成本的情况下, 本领域技术人员都可以搭建对应的硬件电路来实现 对应的功能, 所述硬件电路包括常规的超大规模集成(VLSI )电路或者门阵列以及诸 如逻辑芯片、 晶体管之类的现有半导体或者是其它分立的元件。 模块还可以用可编程 硬件设备, 诸如现场可编程门阵列、 可编程阵列逻辑、 可编程逻辑设备等实现。
以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明, 凡在本发明的精 神和原则之内, 所作的任何修改、 等同替换、 改进等, 均应包含在本发明的保护范围 之内。

Claims

权 利 要 求
1. 一种计算机系统的显示处理方法, 所述计算机系统包括:
基于物理硬件运行的主操作系统;
用于基于所述物理硬件模拟出逻辑硬件的虚拟机;
基于所述逻辑硬件运行的客户操作系统;
所述显示处理方法包括:
所述客户操作系统在检测到需要产生窗口的第二事件时, 生成第二窗口生成消 息;
所述虚拟机接收从所述客户操作系统发送的所述第二窗口生成消息; 所述虚拟机将所述第二窗口生成消息发送到所述主操作系统;
所述主操作系统才 居所述第二窗口生成消息生成第二窗口,并控制所述第二窗口 显示于显示屏的第二显示位置, 所述第二显示位置与第一窗口的第一显示位置不同, 其中, 所述第一窗口是先前显示的与所述客户操作系统相关的窗口。
2. 根据权利要求 1 所述的显示处理方法, 其中, 所述第一窗口为主操作系统根 据第一窗口生成消息生成的窗口, 且所述第一窗口生成消息为虚拟机接收到的由所述 客户操作系统检测到需要产生窗口的第一事件时生成并发送的消息。
3. 根据权利要求 1 所述的显示处理方法, 其中, 所述第二显示位置与第一窗口 的第一显示位置不同包括:
所述第二窗口与所述第一窗口不重叠。
4. 根据权利要求 1 所述的显示处理方法, 其中, 所述主操作系统根据所述第二 窗口生成消息生成第二窗口, 并控制所述第二窗口显示于显示屏的第二显示位置, 所 述第二显示位置与第一窗口的第一显示位置不同包括:
所述主操作系统获取在生成所述第一窗口时保存的所述第一窗口的第一位置信 息;
所述主操作系统根据所述第一位置信息确定与所述第一位置信息不同的第二位 置信息;
所述主操作系统根据所述第二位置信息和所述第二窗口生成消息生成并显示所 述第二窗口。
5. 根据权利要求 1 所述的显示处理方法, 其中, 所述第二窗口生成消息是指示 了客户操作系统中的应用调用客户操作系统内的第一图形应用程序编程接口的消息; 所述主操作系统才 居所述第二窗口生成消息生成第二窗口,并控制所述第二窗口 显示于显示屏的第二显示位置, 所述第二显示位置与第一窗口的第一显示位置不同包 括:
所述主操作系统根据所述第二窗口生成消息调用主操作系统内对应的第二图形 应用程序编程接口;
所述第二图形应用程序编程接口封装显示数据和包括所述第一位置的显示参数, 并转发封装后的显示参数和显示数据到显卡驱动, 以由显卡上的图形处理单元实现所 述第二窗口的生成和显示。
6. 根据权利要求 5所述的显示处理方法, 其中, 所述第一图形应用程序编程接 口和第二图形应用程序编程接口为开放式图形处理库应用程序编程接口。
7. 根据权利要求 1所述的显示处理方法, 还包括:
所述主操作系统将检测到的对所述第二窗口执行的输入操作发送到所述虚拟机; 所述虚拟机将所述输入操作发送到所述客户操作系统;
所述客户操作系统将所述输入操作对应的输入消息插入到所述第二窗口对应的 消息队列中等待处理。
8. 根据权利要求 1所述的显示处理方法, 还包括:
所述客户操作系统在检测到对第二窗口进行修改的窗口修改指令时,生成并发送 窗口修改消息;
所述虚拟机接收所述客户操作系统发送的所述窗口修改消息;
所述虚拟机将所述窗口修改消息发送到所述主操作系统;
所述主操作系统依据所述窗口修改消息对所述第二窗口进行修改操作。
9. 一种计算机系统的显示处理装置, 所述计算机系统包括:
基于物理硬件运行的主操作系统;
用于基于所述物理硬件模拟出逻辑硬件的虚拟机;
基于所述逻辑硬件运行的客户操作系统;
所述显示处理装置包括:
设置于所述客户操作系统中的第一消息生成模块,用于在检测到需要产生窗口的 第二事件时, 生成第二窗口生成消息;
设置于虚拟机中的第一接收模块,用于接收从所述客户操作系统发送的所述第二 窗口生成消息;
设置于虚拟机中的第一发送模块,用于将所述第二窗口生成消息发送到所述主操 作系统;
设置于所述主操作系统中的窗口生成处理模块,用于根据所述第二窗口生成消息 生成第二窗口, 并控制所述第二窗口显示于显示屏的第二显示位置, 所述第二显示位 置与第一窗口的第一显示位置不同, 其中, 所述第一窗口先前显示的与所述客户操作 系统相关的窗口。
10. 根据权利要求 9所述的显示处理装置, 其中, 所述第一窗口为主操作系统根 据第一窗口生成消息生成的窗口, 且所述第一窗口生成消息为虚拟机接收到的由所述 客户操作系统检测到需要产生窗口的第一事件时生成并发送的消息。。
11. 根据权利要求 9所述的显示处理装置, 其中, 所述第二显示位置与第一窗口 的第一显示位置不同包括: 所述第二窗口与所述第一窗口不重叠。
12. 根据权利要求 9所述的显示处理装置, 其中, 所述窗口生成处理模块包括: 获取单元, 用于获取在生成所述第一窗口时保存的所述第一窗口的第一位置信 息;
位置信息确定单元,用于# ^据所述第一位置信息确定与所述第一位置信息不同的 第二位置信息;
窗口处理单元,用于才 居所述第二位置信息和所述第二窗口生成消息生成并显示 所述第二窗口。
13. 根据权利要求 9所述的显示处理装置, 其中, 所述第二窗口生成消息是指示 了客户操作系统中的应用调用客户操作系统内的第一图形应用程序编程接口的消息; 所述窗口生成处理模块包括:
调用单元,用于根据所述第二窗口生成消息调用主操作系统内对应的第二图形应 用程序编程接口, 由所述第二图形应用程序编程接口封装显示数据和包括所述第一位 置的显示参数, 并转发封装后的显示参数和显示数据到显卡驱动, 以由显卡上的图形 处理单元实现所述第二窗口的生成和显示。
14. 根据权利要求 13 所述的显示处理方法, 其中, 所述第一图形应用程序编程 接口和第二图形应用程序编程接口为开放式图形处理库应用程序编程接口。
15. 根据权利要求 9所述的显示处理装置, 还包括:
设置于所述主操作系统中的第二发送模块,用于将检测到的对所述第二窗口执行 的输入操作发送到所述虚拟机;
设置于虚拟机中的第三发送模块, 用于将所述输入操作发送到所述客户操作系 统;
设置于所述客户操作系统中的插入单元,用于将所述输入操作对应的输入消息插 入到所述第二窗口对应的消息队列中等待处理。
16. 根据权利要求 9所述的显示处理装置, 还包括:
设置于所述客户操作系统中的第二消息生成模块,用于在检测到对第二窗口进行 修改的窗口修改指令时, 生成窗口修改消息;
设置于虚拟机中的第二接收模块,用于接收从所述客户操作系统发送的所述窗口 修改消息;
设置于虚拟机中的第四发送模块,用于将所述窗口修改消息发送到所述主操作系 统;
设置于所述主操作系统中的窗口修改模块, 用于依据所述窗口修改消息对所述第 二窗口进行修改操作。
17. 一种计算机系统, 包括:
基于物理硬件运行的主操作系统;
用于基于所述物理硬件模拟出逻辑硬件的虚拟机;
基于所述逻辑硬件运行的客户操作系统;
所述客户操作系统包括:
第一消息生成模块, 用于在检测到需要产生窗口的第二事件时, 生成第二窗口生 成消息;
所述虚拟机包括:
第一接收模块, 用于接收从所述客户操作系统发送的所述第二窗口生成消息; 和 第一发送模块, 用于将所述第二窗口生成消息发送到所述主操作系统; 所述主操作系统包括:
窗口生成处理模块, 用于根据所述第二窗口生成消息生成第二窗口, 并控制所述 第二窗口显示于显示屏的第二显示位置, 所述第二显示位置与第一窗口的第一显示位 置不同, 其中, 所述第一窗口是先前显示的与所述客户操作系统相关的窗口。
18. 根据权利要求 17所述的计算机系统, 其中, 所述第一窗口为主操作系统根 据第一窗口生成消息生成的窗口, 且所述第一窗口生成消息为虚拟机接收到的由所述 客户操作系统检测到需要产生窗口的第一事件时生成并发送的消息。
19. 根据权利要求 17所述的计算机系统, 其中, 所述第二显示位置与第一窗口的 第一显示位置不同为所述第二窗口与所述第一窗口不重叠。
PCT/CN2012/075359 2011-05-31 2012-05-11 显示处理方法、装置及计算机系统 Ceased WO2012163221A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201110145043.5A CN102810040B (zh) 2011-05-31 2011-05-31 一种显示处理方法、装置及计算机系统
CN201110145043.5 2011-05-31

Publications (1)

Publication Number Publication Date
WO2012163221A1 true WO2012163221A1 (zh) 2012-12-06

Family

ID=47233753

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/075359 Ceased WO2012163221A1 (zh) 2011-05-31 2012-05-11 显示处理方法、装置及计算机系统

Country Status (2)

Country Link
CN (1) CN102810040B (zh)
WO (1) WO2012163221A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103414867B (zh) * 2013-07-19 2016-08-24 华为技术有限公司 多媒体通话控制方法、终端及系统
CN103593185B (zh) * 2013-11-04 2017-01-04 浙江大学 基于单Linux内核的多Android系统共享输入显示设备的方法
CN104765623A (zh) * 2014-01-03 2015-07-08 中兴通讯股份有限公司 一种实现多操作系统的数据处理方法及终端设备
CN105005427A (zh) * 2014-04-23 2015-10-28 中兴通讯股份有限公司 一种窗口管理方法及装置
CN105760038A (zh) * 2014-12-16 2016-07-13 阿里巴巴集团控股有限公司 一种多窗口显示方法及装置
EP3387835A1 (en) 2015-12-11 2018-10-17 VID SCALE, Inc. Scheduling multiple-layer video segments
CN107291319A (zh) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 一种窗口显示方法、信息交互方法及系统
CN107292807B (zh) * 2016-03-31 2020-12-04 阿里巴巴集团控股有限公司 一种图形合成方法、窗口设置方法及系统
CN105975238B (zh) * 2016-07-22 2019-04-23 珠海市魅族科技有限公司 一种显示参数的调整方法及终端设备
CN106339211B (zh) * 2016-08-12 2020-01-17 北京领通科技有限公司 一种智能终端远程服务中显示不一致的监控方法和装置
CN106354455B (zh) * 2016-08-17 2019-09-13 青岛海信电器股份有限公司 人机界面显示处理装置及其方法
WO2019127082A1 (zh) * 2017-12-27 2019-07-04 深圳前海达闼云端智能科技有限公司 一种控制显示屏的方法、装置和智能终端
WO2019178754A1 (zh) * 2018-03-20 2019-09-26 深圳前海达闼云端智能科技有限公司 计算机设备中客户操作系统屏幕截图方法和装置
CN108549564B (zh) * 2018-03-30 2021-11-09 武汉斗鱼网络科技有限公司 用户界面的显示处理方法及客户端
CN109828808B (zh) * 2018-12-24 2023-01-31 珠海海鸟科技有限公司 一种防拦截方法及相关设备
CN112114916B (zh) * 2020-08-31 2021-06-08 北京技德系统技术有限公司 一种在Linux操作系统上兼容运行Android应用的方法和装置
CN114880072A (zh) * 2022-05-10 2022-08-09 统信软件技术有限公司 一种虚拟机的应用窗口显示方法、计算设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005098621A1 (en) * 2004-03-31 2005-10-20 Intel Corporation Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment
US20060005187A1 (en) * 2004-06-30 2006-01-05 Microsoft Corporation Systems and methods for integrating application windows in a virtual machine environment
US20060010433A1 (en) * 2004-06-30 2006-01-12 Microsoft Corporation Systems and methods for providing seamless software compatibility using virtual machines
CN101221516A (zh) * 2008-01-18 2008-07-16 清华大学 跨操作系统平台的界面无缝整合方法及系统
CN101398766A (zh) * 2007-09-29 2009-04-01 联想(北京)有限公司 一种虚拟机系统中的显示处理方法及虚拟机系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005098621A1 (en) * 2004-03-31 2005-10-20 Intel Corporation Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment
US20060005187A1 (en) * 2004-06-30 2006-01-05 Microsoft Corporation Systems and methods for integrating application windows in a virtual machine environment
US20060010433A1 (en) * 2004-06-30 2006-01-12 Microsoft Corporation Systems and methods for providing seamless software compatibility using virtual machines
CN101398766A (zh) * 2007-09-29 2009-04-01 联想(北京)有限公司 一种虚拟机系统中的显示处理方法及虚拟机系统
CN101221516A (zh) * 2008-01-18 2008-07-16 清华大学 跨操作系统平台的界面无缝整合方法及系统

Also Published As

Publication number Publication date
CN102810040B (zh) 2016-03-30
CN102810040A (zh) 2012-12-05

Similar Documents

Publication Publication Date Title
WO2012163221A1 (zh) 显示处理方法、装置及计算机系统
US11164280B2 (en) Graphics layer processing in a multiple operating systems framework
US20210303108A1 (en) System and method for on-screen graphical user interface encapsulation and reproduction
US11829787B2 (en) Multi-process model for cross-platform applications
CN105204797B (zh) 屏幕分享方法以及使用该方法的装置
CN104536802B (zh) 一种实现应用调用的方法及虚拟机
EP3543847A1 (en) Service processing method and device
US20090225093A1 (en) Buffers for display acceleration
CN109308241B (zh) 监听应用程序启动流程方法、装置、终端设备和存储介质
WO2020156264A1 (zh) 渲染方法及装置
US20120096205A1 (en) Inter-virtual machine profiling
US10885229B2 (en) Electronic device for code integrity checking and control method thereof
JP2013542515A (ja) 異環境間リダイレクション
JP2013546043A (ja) 即時リモートレンダリング
HK1222932A1 (zh) 多平台移動裝置和其它計算裝置以及方法
CN109766196A (zh) 一种任务调度方法、装置及设备
US9378054B2 (en) Testing system with methodology for background application control
US20150067664A1 (en) System, method and apparatus for transparently enabling software applications with adaptive user interfaces
WO2024087958A1 (zh) 应用的功能界面的打开方法、装置和终端设备
WO2023221822A1 (zh) 数据处理方法、电子设备和可读存储介质
Chen et al. MSA: A novel app development framework for transparent multiscreen support on android apps
CN107077272B (zh) 响应于用户动作而确定启用直接操纵的命中测试
KR20190085402A (ko) 전자 장치 및 그 제어 방법
CN115454870A (zh) flutter应用程序智能调试的方法、装置、设备和存储介质
US20230350532A1 (en) System and method for on-screen graphical user interface encapsulation and application history reproduction

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12794010

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12794010

Country of ref document: EP

Kind code of ref document: A1