CN112905275A - Display method and display device for multiple operating systems - Google Patents

Display method and display device for multiple operating systems Download PDF

Info

Publication number
CN112905275A
CN112905275A CN201911217493.3A CN201911217493A CN112905275A CN 112905275 A CN112905275 A CN 112905275A CN 201911217493 A CN201911217493 A CN 201911217493A CN 112905275 A CN112905275 A CN 112905275A
Authority
CN
China
Prior art keywords
operating system
foreground
display
synthesizer
identification
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.)
Pending
Application number
CN201911217493.3A
Other languages
Chinese (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.)
Banma Zhixing Network Hongkong Co Ltd
Original Assignee
Banma Zhixing Network Hongkong Co 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 Banma Zhixing Network Hongkong Co Ltd filed Critical Banma Zhixing Network Hongkong Co Ltd
Priority to CN201911217493.3A priority Critical patent/CN112905275A/en
Publication of CN112905275A publication Critical patent/CN112905275A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/4401Bootstrapping
    • G06F9/4406Loading of operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

A display method and apparatus for a multi-operating system are provided. The method comprises the following steps: a first synthesizer of a first operating system receives a display request from the first operating system; the first synthesizer judges whether the first operating system is located in the foreground in a user mode; and when the first operating system is determined to be in the foreground, the first synthesizer utilizes the frame cache of the kernel state to realize the display on the screen, and the display is virtualized by carrying out double-system display in a user space instead of a kernel layer. Furthermore, the scheme further improves the efficiency of state judgment and system switching of each operating system by introducing global foreground identification.

Description

Display method and display device for multiple operating systems
Technical Field
The present invention relates to operating systems, and in particular, to a display method and a display device for a multi-operating system.
Background
With the increasing popularity of mobile devices such as smartphones, people rely on mobile devices more and more. Operating systems (i.e., mobile operating systems) implemented on mobile platforms include Android systems, iOS systems, and iOS, among others.
In existing applications, an operating system is typically installed on a mobile device. However, with the increasing demand of users and the introduction of special-purpose mobile devices (e.g., dedicated police terminals, etc.), more and more mobile devices are beginning to be pre-installed with two or more operating systems.
In a case where a mobile device is installed with a plurality of operating systems, since one set of hardware of the mobile device needs to support the plurality of operating systems, display support for each operating system needs to be realized by means of a display system virtualization technique. Due to the limited power consumption and processing capability of the mobile device, how to display with high efficiency and low power consumption when a plurality of operating systems are installed becomes a problem to be solved urgently in the field.
Disclosure of Invention
In view of the above, the present invention provides a display scheme for a multi-operating system. The scheme can reduce power consumption by reducing unnecessary bottom layer processing by performing dual system display virtualization in user space rather than kernel layer. Furthermore, the scheme further improves the efficiency of state judgment and system switching of each operating system by introducing global foreground identification.
According to a first aspect of the present invention, a display method for a multi-operating system is provided, including: a first synthesizer of a first operating system receives a display request from the first operating system; the first synthesizer judges whether the first operating system is located in the foreground in a user mode; and when the first operating system is determined to be positioned in the foreground, the first synthesizer realizes display on a screen by using a frame buffer in a kernel mode.
According to a second aspect of the present invention, there is provided a display apparatus having a plurality of operating systems installed thereon, the plurality of operating systems including a first operating system and a second operating system, wherein the first operating system includes: a first synthesizer for: receiving a display request from the first operating system; judging whether the first operating system is in a foreground or not in a user mode; and when the first operating system is determined to be in the foreground, utilizing a frame buffer in a kernel mode to realize display on a screen of the device, wherein the second operating system comprises: a second synthesizer for: receiving a display request from the second operating system; judging whether the second operating system is positioned in the foreground in a user mode; and when the second operating system is determined to be positioned in the background, not performing the synthesis display operation.
According to a third aspect of the invention, there is provided a computing device comprising: a processor; and a memory having executable code stored thereon, which when executed by the processor, causes the processor to perform the method of any of the above.
According to a fourth aspect of the invention, a non-transitory machine-readable storage medium is proposed, having stored thereon executable code which, when executed by a processor of an electronic device, causes the processor to perform the method as described above.
Therefore, the multi-operating-system display method and the equipment perform double-system display virtualization in a user space instead of a kernel layer, so that the virtualization is realized without depending on a bottom-layer display system, and the multi-operating-system display method and the equipment can be more generally moved to various mobile equipment platforms. Furthermore, the display scheme of the invention can realize highly efficient system switching by introducing the global foreground identification and the switcher capable of being a root system, and the system power consumption is fully ensured because the background system does not perform any synthesis operation.
Drawings
The above and other objects, features and advantages of the present disclosure will become more apparent by describing in greater detail exemplary embodiments thereof with reference to the attached drawings, in which like reference numerals generally represent like parts throughout.
Fig. 1 is a flowchart illustrating a display method for a multi-os according to an embodiment of the present invention.
Fig. 2 shows an architecture diagram of a dual operating system installed in one mobile device.
Fig. 3 shows an example of a dual system display scheme according to the present invention.
Fig. 4 is a schematic composition diagram of a display device mounted with a plurality of operating systems according to an embodiment of the present invention.
FIG. 5 is a schematic structural diagram of a computing device that can be used to implement the display method for multiple operating systems described above according to one embodiment of the invention.
Detailed Description
Preferred embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While the preferred embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
An operating system used on a mobile platform becomes a mobile operating system, and common mobile operating systems include an Android system, an iOS system, and an iOS system. The mobile operating system approximates the operating system that runs on a desktop, but is generally simpler and provides wireless communication functionality. The devices using the mobile operating system include smart phones, PDAs, tablet computers, and the like, and further include embedded systems, mobile communication devices, wireless devices, and the like.
A typical mobile device (e.g., a smartphone) typically has only one operating system installed thereon. When two independent systems operate simultaneously on a mobile device, dual systems are installed on the mobile device. The dual systems may be two identical or different operations running simultaneously. For example, an Android system and an AliOS system run simultaneously on one smart phone, or two Android systems run simultaneously. Similarly, a mobile device may have more operating systems installed thereon, e.g., three or more operating systems.
In a case where a mobile device is installed with a plurality of operating systems, since one set of hardware of the mobile device needs to support the plurality of operating systems, display support for each operating system needs to be realized by means of a display system virtualization technique. The display system virtualization technology can be implemented as a module for displaying interface effects in an operating system, and generally comprises an upper graphics synthesizer, a lower frame buffer, a display driving part and the like. Dual (or multi) systems require virtualization of the display system, i.e., each system in the upper layer appears to have its own independent and independent display.
On the mobile device, since a plurality of operating systems operate independently and only one operating system can operate in the foreground, a system switching function is required. Through the application of the foreground, the foreground system can be switched to the background, and the background system is switched to the foreground for displaying.
In order to realize display virtualization, requests from an upper display system can be uniformly processed by adding an encapsulation module at a kernel layer. The packaging module is directly connected with the bottom display driving module to perform processing such as memory allocation and display content submission. The scheme has the advantages that all processing is carried out on the kernel layer, modification of an upper-layer display system is not needed, however, due to the fact that an encapsulation layer is added, all requests on the upper layer need to be completely processed, meanwhile, bottom-layer driving needs to be adapted, copying and other work needing more display caches exist, switching performance can be reduced, and higher system power consumption is caused.
To this end, the invention proposes a display scheme for a multi-operating system. The scheme can reduce power consumption by reducing unnecessary bottom layer processing by performing dual system display virtualization in user space rather than kernel layer. Furthermore, the scheme further improves the efficiency of state judgment and system switching of each operating system by introducing global foreground identification.
Fig. 1 is a flowchart illustrating a display method for a multi-os according to an embodiment of the present invention. The method may be performed by a mobile device, e.g., a smartphone, having a plurality of operating systems installed.
In step S110, a first synthesizer of a first operating system receives a display request from the first operating system. Here, the first operating system may be, for example, an Android system. The synthesizer of the Android system can receive a display request of an APP installed in the operating system, for example, a display request of a chat page submitted by an APP of a chat server.
In step S120, the first synthesizer determines whether the first os is in the foreground in the user mode. In step S130, when it is determined that the first operating system is located in the foreground, the first synthesizer implements display on a screen by using a frame buffer in a kernel mode.
The architecture of an operating system is divided into a user mode and a kernel mode. The kernel mode (also referred to as "kernel layer") controls hardware resources of the computer and provides an environment in which upper layer applications run. The user state corresponds to the active space of the upper layer application, which may also be referred to as user space. The execution of an application (e.g., client APP) must rely on resources provided by the kernel, including CPU resources, storage resources, I/O resources, and the like. In order for upper layer applications to access these resources, the kernel must provide an interface for upper layer applications to access: i.e. a system call.
Here, the system compositor of the operating system is an upper application for compositing submitted content and submitting it to a corresponding hardware display system (via a kernel layer) when, for example, the client APP submits the complete display content. Unlike the prior art in which the operating system foreground and background judgments are performed at the kernel level, the present invention moves the operating system foreground and background judgments up to the user space, thereby avoiding unnecessary operations involving memory and hardware at the bottom level.
Further, for a second operating system as a background operating system, the display method of the present invention may further include: a second synthesizer of a second operating system receives a display request from the second operating system; the second synthesizer judges whether the second operating system is in the foreground in a user mode; and when the second operating system is determined to be positioned in the background, not performing the synthesis display operation. Here, the second operating system may be an AliOS, and includes a synthesizer of the system itself. In the display scheme of the present invention, when the client app in the system submits the complete display content, the synthesizer of each system determines whether the client content needs to be synthesized and submitted to the corresponding hardware display system according to whether the system to which the client app belongs is the foreground system. Thus, any composite display operation in the background can be directly avoided by the determination made in the user space, thereby further reducing the system power consumption.
In the display scheme of the present application, there may be a third or even more operating systems, and the present invention does not limit the number of operating systems. However, in the case of a mobile device with three or more operating systems installed therein, there is still only one foreground operating system (and multiple background operating systems), and the operation principle is similar to that of a dual system. Therefore, the following description will still be made of a dual system as an example of a multi-system. Herein, "first", "second" and "third" are intended to distinguish between different objects of the same type, and do not imply any order or importance.
In the present application, the compositor of each operating system may determine whether the operating system is in the foreground according to various mechanisms. In one embodiment, the compositor may determine whether the operating system to which it belongs is in the foreground by looking at the foreground identification. To this end, S120 may include: the first compositor determines whether the first operating system is in the foreground by looking at a foreground identification. Accordingly, the second compositor determining, in the user state, whether the second operating system is in the foreground may include the second compositor determining whether the second operating system is in the foreground by looking at a foreground identification. Here, the foreground identification may be an identification indicating what operating system is the current foreground operating system. In one embodiment, the operating system name may be used directly as the foreground identification. For example, when the first operating system (e.g., the Android system) is a foreground operating system, the foreground identifier may be Android or its abbreviation And. While when the second operating system (e.g., the AliOS system) is currently the foreground operating system, the foreground identifier may be AliOS or its abbreviation Ali. In another embodiment, the foreground identifier may also be referred to using a code number or values of 0 and 1, and the invention is not limited thereto. In order to facilitate the operating systems in the foreground and the background to conveniently obtain the foreground identifier, in an embodiment, the foreground identifier may be implemented as a global attribute, for example, a global foreground attribute.
Further, determining whether the operating system is in the foreground by looking at the foreground system identification may also involve the system identification. The system identification may be maintained by the present system. For example, the first operating system holds its own first system identifier (e.g., Android), and the second operating system holds its own second system identifier (e.g., AliOS). Thus, each operating system needs to read or hold 2 identifiers, one system identifier for identifying which system it belongs to, and another foreground identifier for identifying the current foreground system. The system identifier may also be a global attribute, for example, a global system attribute. Both the system attribute and the foreground attribute may be used to determine whether the system is currently the foreground system. Only when the 2 attribute values are identical, the system is the foreground system. In other words, the first compositor may read a first system identifier for identifying the first operating system and a foreground identifier for identifying the current foreground system, and determine whether the first operating system is in the foreground by comparing whether the first system identifier is consistent with the foreground identifier. Similarly, the second compositor may read a second system identification identifying a second operating system and a foreground identification identifying a current foreground system, and determine whether the second operating system is in the foreground by comparing whether the second system identification is consistent with the foreground identification.
In a dual system scheme, the first operating system and the second operating system share a kernel. Fig. 2 shows an architecture diagram of a dual operating system installed in one mobile device. As shown, operating systems 1 and 2 both include an APP layer, an appfrawork layer, and a system runtime layer in respective user spaces, and the two systems share a kernel layer. Preferably, the first operating system and the second operating system respectively maintain independent frame buffers in the kernel, so that when switching to the foreground, the content in the corresponding frame buffer can be directly used to be sent to the hardware display for display.
In addition, a sync nonce often exists in the synthesizer, and it is necessary to ensure that the logic of the background and the switching process is correct, otherwise, fd (file descriptor) is easily leaked, which causes system instability. Thus, in one embodiment, the disabling of the composite display operation upon determining that the second operating system is in the background may include: and when the second operating system is determined to be positioned in the background, the second synthesizer refuses to process the display request from the second operating system. For this reason, the display request can be directly rejected by the synthesizer of the background operating system to avoid the risk of system crash caused by the leakage of fd.
In the case where a plurality of operating systems are installed, since the plurality of operating systems operate independently and only one operating system can operate in the foreground, it is necessary to have a system switching function. Through the application of the foreground, the foreground system can be switched to the background, and the background system is switched to the foreground for displaying. Thus, in one embodiment, the display method of the present invention further comprises: and switching the second operating system to foreground display based on user operation. Specifically, the second operating system may be switched to a foreground display based on an operation of a user in the first operating system. For example, a user may click on a corresponding switch icon in a first operating system that is a foreground operating system to directly complete a switch from the first to the second operating system. Accordingly, the user can click the corresponding switching icon in the second operating system as the foreground operating system to directly complete the switching from the second to the first operating system. Under the condition that a plurality of operating systems are installed on the equipment, the switching page can be switched based on the switching operation of the user on the foreground system, and the user selects the operating system which is to be switched to the foreground.
As shown in fig. 2, switching between operating systems can also be performed by means of a switch (switch) independent of the two operating systems. Then, switching the second operating system to foreground display based on a user operation includes: based on the user operation, the first operating system informs a switcher of display switching; and the switcher switches the second operating system to the foreground for display. Here, the switcher may be a standalone root system. The root system is a system independent of the first and second operating systems, e.g. an operating system with partial functionality of the root authority.
In one embodiment, the switching the second operating system to the foreground display by the switcher may include: the switcher modifies a foreground identification, and the foreground identification is modified from the first operating system to the second operating system; the first synthesizer judges that the first operating system is not positioned in the foreground according to the foreground identification and stops displaying; and the second synthesizer judges that the second operating system is positioned in the foreground according to the foreground identification and starts to display and operate.
Specifically, the application of system switching can run in two operating systems simultaneously. Each time a system is switched, the current foreground system is first subjected to the necessary processing to change the foreground attribute to another system, for example, to switch from the first operating system to the second operating system. At this time, the first synthesizer may have its display content no longer rendered because it is determined that the system is not the foreground system, and the first operating system is in a very brief freeze-screen state. Then, the switcher can switch the background system to be the current active system by modifying the content of the related file, and then modify the foreground attribute of the new foreground system to be the current system, so that the display content of the newly switched foreground system can be normally displayed.
In order to make the system switching be completed in real time, a new interface can be added in the synthesizer of the system. Through this interface, the system that has just switched to the foreground can be forced to resubmit the display request, thereby ensuring real-time switching. Specifically, the switching the second operating system to the foreground display by the switcher comprises: the second compositor causes the second operating system to resubmit a display request; and implementing a display on the screen based on the resubmitted display request.
Therefore, through the matching of the switching application, the switcher and the global foreground attribute in the system, the display method can complete the switching of the display system at a very high speed, for example, the switching can be completed within a plurality of vsync periods.
In addition, in order to further reduce background operation, the first operating system can be set to be in a screen locking state when the first operating system is switched to the background. For this reason, the display requests of the background system become less until the off-screen state is reduced to zero.
In another embodiment, the system compositor operation can be handled uniformly by adding a new encapsulation layer at the kernel layer and the contents of the system to be displayed are displayed on the screen.
Fig. 3 shows an example of a dual system display scheme according to the present invention. As shown, in the user spaces of operating systems 1 and 2 that are separate from each other, the respective applications of the systems (e.g., apps 1 and 2) submit display requests to their respective compositors. The compositor directly determines (e.g., based on a foreground property) whether the present system is currently the foreground system in user space. And if so, displaying the hardware display screen by using the frame buffer in the kernel layer. If not, the received display request is not processed. When the system is switched, the operating systems 1 and 2 can interact with foreground and background identities and operate based on the switched identities. Therefore, the bifurcation judgment is carried out in the user space, so that the problem of dual-system display virtualization can be solved more directly and less in change, the consistent logic is kept with the switching, and the modification at the kernel layer is not needed.
The display method for a multi-os according to the present invention is described above with reference to fig. 1 to 3. Compared with a mobile dual-system scheme for performing display virtualization at the bottom layer, the method and the device perform multi-system display virtualization in a user space instead of internalization.
Because the modification of the kernel layer display part can be made stably and reliably by often needing support of manufacturers, and specialized modification and support are needed for various technical schemes such as drm, adf, fb and the like, the multi-system display virtualization implemented in the user space in the invention not only can avoid inconvenience brought by implementation of a bottom layer, but also can improve the transplanting capability of the scheme to each mobile platform, and the power consumption of the system is fully ensured because a background system does not perform any synthesis operation. Furthermore, the display method of the invention can realize highly efficient system switching by introducing the global foreground identification and the switcher capable of being realized as a root system.
Fig. 4 is a schematic composition diagram of a display device mounted with a plurality of operating systems according to an embodiment of the present invention. As shown, the display apparatus 400 is installed with a plurality of operating systems 410 and a switcher 420 for switching the operating systems. The multiple operating systems are illustrated as a first operating system and a second operating system. The first operating system includes: a first synthesizer for: receiving a display request from the first operating system; judging whether the first operating system is in a foreground or not in a user mode; and when the first operating system is determined to be located in the foreground, utilizing a frame buffer in a kernel mode to realize display on a screen of the equipment. The second operating system includes: a second synthesizer for: receiving a display request from the second operating system; judging whether the second operating system is positioned in the foreground in a user mode; and when the second operating system is determined to be positioned in the background, not performing the synthesis display operation.
The first compositor and the second compositor may determine whether the operating systems to which they belong are in the foreground by looking at a foreground identification as a global attribute. Specifically, the first synthesizer and the second synthesizer read foreground identifiers and system identifiers identifying operating systems to which the first synthesizer and the second synthesizer belong, and determine whether the operating systems to which the first synthesizer and the second synthesizer belong are located in the foreground by comparing the system identifiers with the foreground identifiers.
In one embodiment, the first operating system and the second operating system share a kernel, and the first operating system and the second operating system respectively maintain independent frame buffers in the kernel.
Upon determining that the second operating system is in the background, the second compositor may deny processing of the display request from the second operating system.
To cope with the switching, the first operating system and the second operating system may include a switching application for performing foreground and background display switching under the operation of the user.
Specifically, the display apparatus 400 may also be installed with a root system as a switcher that performs foreground and background display switching of the operating system based on an operation of a switching application by a user.
Based on the user's operation of the switching application, the switch 420 may be further configured to: modifying a foreground identifier, modifying the foreground identifier from the first operating system to the second operating system, judging that the first operating system is not positioned in the foreground by the first synthesizer according to the foreground identifier, stopping display operation, judging that the second operating system is positioned in the foreground by the second synthesizer according to the foreground identifier, and starting display operation.
The second compositor includes a resubmission interface for causing the second operating system to resubmit the display request, and the second compositor implements the display on the screen based on the resubmitted display request.
The switch 420 may also be used to: and when the first operating system is switched to a background, setting the first operating system to be in a screen locking state.
FIG. 5 is a schematic structural diagram of a computing device that can be used to implement the display method for multiple operating systems described above according to one embodiment of the invention.
Referring to fig. 5, computing device 500 includes memory 510 and processor 520.
The processor 520 may be a multi-core processor or may include a plurality of processors. In some embodiments, processor 1020 may include a general-purpose host processor and one or more special purpose coprocessors such as a Graphics Processor (GPU), Digital Signal Processor (DSP), or the like. In some embodiments, processor 520 may be implemented using custom circuitry, such as an Application Specific Integrated Circuit (ASIC) or a Field Programmable Gate Array (FPGA).
The memory 510 may include various types of storage units, such as system memory, Read Only Memory (ROM), and permanent storage. Wherein the ROM may store static data or instructions for the processor 520 or other modules of the computer. The persistent storage device may be a read-write storage device. The persistent storage may be a non-volatile storage device that does not lose stored instructions and data even after the computer is powered off. In some embodiments, the persistent storage device employs a mass storage device (e.g., magnetic or optical disk, flash memory) as the persistent storage device. In other embodiments, the permanent storage may be a removable storage device (e.g., floppy disk, optical drive). The system memory may be a read-write memory device or a volatile read-write memory device, such as a dynamic random access memory. The system memory may store instructions and data that some or all of the processors require at runtime. Further, the memory 510 may include any combination of computer-readable storage media, including various types of semiconductor memory chips (DRAM, SRAM, SDRAM, flash memory, programmable read-only memory), magnetic and/or optical disks, may also be employed. In some embodiments, memory 510 may include a removable storage device that is readable and/or writable, such as a Compact Disc (CD), a digital versatile disc read only (e.g., DVD-ROM, dual layer DVD-ROM), a Blu-ray disc read only, an ultra-dense disc, a flash memory card (e.g., SD card, min SD card, Micro-SD card, etc.), a magnetic floppy disk, or the like. Computer-readable storage media do not contain carrier waves or transitory electronic signals transmitted by wireless or wired means.
The memory 510 has stored thereon executable code, which when processed by the processor 520, may cause the processor 520 to perform the display methods described above for multiple operating systems.
The display method and the display apparatus for a multi-operating system according to the present invention have been described in detail above with reference to the accompanying drawings. The multi-operating system display method and the equipment of the invention perform double-system display virtualization in the user space instead of the kernel layer, so that the virtualization is realized without depending on a bottom layer display system, and the multi-operating system display method and the equipment can be more generally moved to various mobile equipment platforms. Furthermore, the display scheme of the invention can realize highly efficient system switching by introducing the global foreground identification and the switcher capable of being a root system, and the system power consumption is fully ensured because the background system does not perform any synthesis operation.
Furthermore, the method according to the invention may also be implemented as a computer program or computer program product comprising computer program code instructions for carrying out the above-mentioned steps defined in the above-mentioned method of the invention.
Alternatively, the invention may also be embodied as a non-transitory machine-readable storage medium (or computer-readable storage medium, or machine-readable storage medium) having stored thereon executable code (or a computer program, or computer instruction code) which, when executed by a processor of an electronic device (or computing device, server, etc.), causes the processor to perform the steps of the above-described method according to the invention.
Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or combinations of both.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems and methods according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Having described embodiments of the present invention, the foregoing description is intended to be exemplary, not exhaustive, and not limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen in order to best explain the principles of the embodiments, the practical application, or improvements made to the technology in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims (26)

1. A display method for a multi-operating system, comprising:
a first synthesizer of a first operating system receives a display request from the first operating system;
the first synthesizer judges whether the first operating system is located in the foreground in a user mode; and
and when the first operating system is determined to be positioned in the foreground, the first synthesizer realizes display on a screen by utilizing a frame buffer in a kernel mode.
2. The method of claim 1, further comprising:
a second synthesizer of a second operating system receives a display request from the second operating system;
the second synthesizer judges whether the second operating system is in the foreground in a user mode; and
and when the second operating system is determined to be positioned in the background, not performing the synthesis display operation.
3. The method of claim 2, wherein the first compositor determining, in user mode, whether the first operating system is in the foreground comprises:
the first compositor determines whether the first operating system is in the foreground by looking at a foreground identification.
4. The method of claim 3, wherein the first compositor determining whether the first operating system is in the foreground by looking at a foreground system identification comprises:
the first synthesizer reads a first system identifier for identifying the first operating system and a foreground identifier for identifying a current foreground system; and
and judging whether the first operating system is positioned in the foreground or not by comparing the first system identifier with the foreground identifier.
5. The method of claim 2, wherein the first operating system and the second operating system share a kernel.
6. The method of claim 5, wherein the first and second operating systems each maintain a separate frame buffer in the kernel.
7. The method of claim 2, wherein, when it is determined that the second operating system is in the background, not performing a composition display operation comprises:
and when the second operating system is determined to be positioned in the background, the second synthesizer refuses to process the display request from the second operating system.
8. The method of claim 2, further comprising:
and switching the second operating system to foreground display based on user operation.
9. The method of claim 8, wherein switching the second operating system to a foreground display based on a user operation comprises:
and switching the second operating system to foreground display based on the operation of the user in the first operating system.
10. The method of claim 8, wherein switching the second operating system to a foreground display based on a user operation comprises:
based on the user operation, the first operating system informs a switcher of display switching; and
the switcher switches the second operating system to a foreground display.
11. The method of claim 10, wherein the switcher switches the second operating system to a foreground display comprises:
the switcher modifies a foreground identification, and the foreground identification is modified from the first operating system to the second operating system;
the first synthesizer judges that the first operating system is not positioned in the foreground according to the foreground identification and stops displaying; and
and the second synthesizer judges that the second operating system is positioned in the foreground according to the foreground identification and starts to display and operate.
12. The method of claim 10, wherein the switcher switches the second operating system to a foreground display comprises:
the second compositor causes the second operating system to resubmit a display request; and
and realizing the display on the screen based on the resubmitted display request.
13. The method of claim 10, wherein the switch is a root system.
14. The method of claim 8, further comprising:
and when the first operating system is switched to a background, setting the first operating system to be in a screen locking state.
15. A display device having a plurality of operating systems installed thereon, the plurality of operating systems including a first operating system and a second operating system,
the first operating system includes:
a first synthesizer for:
receiving a display request from the first operating system;
judging whether the first operating system is in a foreground or not in a user mode; and
when the first operating system is determined to be in the foreground, displaying on a screen of the equipment by utilizing a frame buffer in a kernel state, and
the second operating system includes:
a second synthesizer for:
receiving a display request from the second operating system;
judging whether the second operating system is positioned in the foreground in a user mode; and
and when the second operating system is determined to be positioned in the background, not performing the synthesis display operation.
16. The apparatus of claim 15, wherein the first and second compositors determine whether the operating systems to which they belong are in the foreground by looking at a foreground identification as a global attribute.
17. The apparatus of claim 16, wherein the first and second synthesizers read the foreground identification and a system identification identifying the operating system to which each belongs, and determine whether the operating system to which each belongs is in the foreground by comparing the system identification with the foreground identification.
18. The apparatus of claim 15, wherein the first and second operating systems share a kernel, and the first and second operating systems each maintain a separate frame buffer in the kernel.
19. The device of claim 15, wherein the second compositor denies processing of the display request from the second operating system upon determining that the second operating system is in the background.
20. The apparatus of claim 15, wherein the first and second operating systems each include a switching application for switching between foreground and background displays under user operation.
21. The apparatus of claim 20, wherein the display apparatus is further installed with a root system as a switcher that performs foreground and background display switching of an operating system based on an operation of a switching application by a user.
22. The device of claim 21, wherein based on user operation of a switch application, the switch is further to:
modifying a foreground identification, modifying the foreground identification from the first operating system to the second operating system, and
the first synthesizer judges that the first operating system is not positioned in the foreground according to the foreground identification and stops the display operation,
and the second synthesizer judges that the second operating system is positioned in the foreground according to the foreground identification and starts to display and operate.
23. The device of claim 22, wherein the second compositor includes a resubmit interface to cause the second operating system to resubmit a display request, and
the second compositor effects display on the screen based on the resubmitted display request.
24. The apparatus of claim 21, wherein the switch is further to:
and when the first operating system is switched to a background, setting the first operating system to be in a screen locking state.
25. A computing device, comprising:
a processor; and
a memory having executable code stored thereon, which when executed by the processor, causes the processor to perform the method of any one of claims 1-14.
26. A non-transitory machine-readable storage medium having stored thereon executable code, which when executed by a processor of an electronic device, causes the processor to perform the method of any one of claims 1-14.
CN201911217493.3A 2019-12-03 2019-12-03 Display method and display device for multiple operating systems Pending CN112905275A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911217493.3A CN112905275A (en) 2019-12-03 2019-12-03 Display method and display device for multiple operating systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911217493.3A CN112905275A (en) 2019-12-03 2019-12-03 Display method and display device for multiple operating systems

Publications (1)

Publication Number Publication Date
CN112905275A true CN112905275A (en) 2021-06-04

Family

ID=76104194

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911217493.3A Pending CN112905275A (en) 2019-12-03 2019-12-03 Display method and display device for multiple operating systems

Country Status (1)

Country Link
CN (1) CN112905275A (en)

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120042159A1 (en) * 2010-08-11 2012-02-16 Wei-Hung Liu Application method for integrating heterogeneous operating systems based on the same system kernel
KR20120116771A (en) * 2011-04-13 2012-10-23 주식회사 케이티 Apparatus for supporting multiple operating system in terminal and operating system conversion method thereof
CN103593185A (en) * 2013-11-04 2014-02-19 浙江大学 Single-Linux-inner-core-based method for multiple Android systems to share input equipment and display equipment
CN104360900A (en) * 2014-11-03 2015-02-18 上海迈微软件科技有限公司 Method for operating multiple operating systems and corresponding system and mobile equipment
CN104516760A (en) * 2014-12-12 2015-04-15 华为技术有限公司 Operating system hot-switching method and device and mobile terminal
US20160048398A1 (en) * 2014-08-12 2016-02-18 Linkedin Corporation Enhancing a multitasking user interface of an operating system
CN105653336A (en) * 2015-12-30 2016-06-08 惠州市德赛西威汽车电子股份有限公司 Method for integrating application under double operating systems
CN105677315A (en) * 2015-12-28 2016-06-15 北京元心科技有限公司 interface display method of multiple operating systems and intelligent terminal
US20170118611A1 (en) * 2015-10-27 2017-04-27 Blackberry Limited Monitoring resource access
CN107278294A (en) * 2017-05-12 2017-10-20 深圳前海达闼云端智能科技有限公司 Input equipment implementation method and its realize device
US20170337026A1 (en) * 2016-05-20 2017-11-23 International Business Machines Corporation Dynamic display arrangement
CN108089928A (en) * 2016-11-22 2018-05-29 华为技术有限公司 Terminal control method and device
CN108124476A (en) * 2017-09-18 2018-06-05 深圳前海达闼云端智能科技有限公司 The display methods and device of multiple operating system, computer equipment and storage medium
CN108304248A (en) * 2017-12-19 2018-07-20 西安电子科技大学 A kind of mobile device of multisystem virtualization
CN110058905A (en) * 2018-01-18 2019-07-26 阿里巴巴集团控股有限公司 Event handling and operating system management method, apparatus, equipment and storage medium

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120042159A1 (en) * 2010-08-11 2012-02-16 Wei-Hung Liu Application method for integrating heterogeneous operating systems based on the same system kernel
KR20120116771A (en) * 2011-04-13 2012-10-23 주식회사 케이티 Apparatus for supporting multiple operating system in terminal and operating system conversion method thereof
CN103593185A (en) * 2013-11-04 2014-02-19 浙江大学 Single-Linux-inner-core-based method for multiple Android systems to share input equipment and display equipment
US20160048398A1 (en) * 2014-08-12 2016-02-18 Linkedin Corporation Enhancing a multitasking user interface of an operating system
CN104360900A (en) * 2014-11-03 2015-02-18 上海迈微软件科技有限公司 Method for operating multiple operating systems and corresponding system and mobile equipment
CN104516760A (en) * 2014-12-12 2015-04-15 华为技术有限公司 Operating system hot-switching method and device and mobile terminal
US20170118611A1 (en) * 2015-10-27 2017-04-27 Blackberry Limited Monitoring resource access
CN105677315A (en) * 2015-12-28 2016-06-15 北京元心科技有限公司 interface display method of multiple operating systems and intelligent terminal
CN105653336A (en) * 2015-12-30 2016-06-08 惠州市德赛西威汽车电子股份有限公司 Method for integrating application under double operating systems
US20170337026A1 (en) * 2016-05-20 2017-11-23 International Business Machines Corporation Dynamic display arrangement
CN108089928A (en) * 2016-11-22 2018-05-29 华为技术有限公司 Terminal control method and device
CN107278294A (en) * 2017-05-12 2017-10-20 深圳前海达闼云端智能科技有限公司 Input equipment implementation method and its realize device
CN108124476A (en) * 2017-09-18 2018-06-05 深圳前海达闼云端智能科技有限公司 The display methods and device of multiple operating system, computer equipment and storage medium
CN108304248A (en) * 2017-12-19 2018-07-20 西安电子科技大学 A kind of mobile device of multisystem virtualization
CN110058905A (en) * 2018-01-18 2019-07-26 阿里巴巴集团控股有限公司 Event handling and operating system management method, apparatus, equipment and storage medium

Similar Documents

Publication Publication Date Title
US9176765B2 (en) Virtual machine system and a method for sharing a graphics card amongst virtual machines
US9268678B2 (en) Memory defragmentation in a hosted hypervisor
US8478926B1 (en) Co-processing acceleration method, apparatus, and system
US8610732B2 (en) System and method for video memory usage for general system application
ES2886760T3 (en) API redirection for limited capacity operating systems
US20190095220A1 (en) Multicore framework for use in pre-boot environment of a system-on-chip
CN111737019B (en) Method and device for scheduling video memory resources and computer storage medium
KR20100110824A (en) Driver architecture for computing device having multiple graphics subsystems, reduced power consumption modes, software and methods
US20210225096A1 (en) Power off and power on method and apparatus for an in-vehicle system
US20220230271A1 (en) Full screen processing in multi-application environments
US9883137B2 (en) Updating regions for display based on video decoding mode
US20180365425A1 (en) Systems and methods for securely booting a system on chip via a virtual collated internal memory pool
US20110219373A1 (en) Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform
US9805439B2 (en) Memory space mapping techniques for server based graphics processing
EP2854030A1 (en) Sharing non-page aligned memory
CN113204407A (en) Memory over-allocation management method and device
US11037358B1 (en) Methods and apparatus for reducing memory bandwidth in multi-pass tessellation
CN113886019B (en) Virtual machine creation method, device, system, medium and equipment
US10908958B2 (en) Shared memory in memory isolated partitions
CN112905275A (en) Display method and display device for multiple operating systems
KR101614920B1 (en) Sharing input/output(I/O) resources across multiple computing systems and/or environments
CN108304200B (en) Method and device for upgrading driving program and electronic equipment
US20240192965A1 (en) Continuity of service for virtualized device after resumption from hibernation
US20240220626A1 (en) Secure boot using parallelization
CN117546150A (en) Reserving secure address ranges

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination