Detailed Description
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to the same or similar elements or elements having the same or similar function throughout. The embodiments described below with reference to the drawings are illustrative only and should not be construed as limiting the invention.
As used herein, the singular forms "a", "an", "the" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. It will be understood that when an element is referred to as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element or intervening elements may also be present. Further, "connected" or "coupled" as used herein may include wirelessly connected or wirelessly coupled. As used herein, the term "and/or" includes all or any element and all combinations of one or more of the associated listed items.
It will be understood by those skilled in the art that, unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the prior art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
As will be appreciated by those skilled in the art, a "terminal" as used herein includes both devices having a wireless signal receiver, which are devices having only a wireless signal receiver without transmit capability, and devices having receive and transmit hardware, which have devices having receive and transmit hardware capable of two-way communication over a two-way communication link. Such a device may include: a cellular or other communication device having a single line display or a multi-line display or a cellular or other communication device without a multi-line display; PCS (Personal Communications Service), which may combine voice, data processing, facsimile and/or data communication capabilities; a PDA (Personal Digital Assistant), which may include a radio frequency receiver, a pager, internet/intranet access, a web browser, a notepad, a calendar and/or a GPS (Global Positioning System) receiver; a conventional laptop and/or palmtop computer or other device having and/or including a radio frequency receiver. As used herein, a "terminal" or "terminal device" may be portable, transportable, installed in a vehicle (aeronautical, maritime, and/or land-based), or situated and/or configured to operate locally and/or in a distributed fashion at any other location(s) on earth and/or in space. As used herein, a "terminal Device" may also be a communication terminal, a web terminal, a music/video playing terminal, such as a PDA, an MID (Mobile Internet Device) and/or a Mobile phone with music/video playing function, or a smart tv, a set-top box, etc.
The inventor of the present invention finds, through research, that in the existing interface display method of multiple operating systems, the multiple operating systems usually share the same or the same group of interface data Buffer areas corresponding to one FB device (Frame Buffer device); in the switching process after the foreground of the operating system, the interface data of the operating system switched to the background is required to be cleared from the interface data cache region, and then the interface data of the operating system switched to the foreground is loaded into the interface data cache region, so that the interface of the operating system switched to the foreground is displayed on a screen, and the switching display of the interface is completed; however, it takes a long time to perform data clearing and data loading on the interface data cache area, which results in a slow speed of interface switching display as a whole, and reduces user experience.
In the embodiment of the invention, when each operating system in the intelligent terminal is started, the address of the interface data cache region of the operating system is designated as the address of the frame buffer device of the operating system, so that the running data of the operating system can be stored in the interface data cache region of the operating system. After receiving a system switching command, the intelligent terminal switches a first operating system of a foreground to a background and switches a second operating system related to the system switching command from the background to the foreground; and designating the interface data cache region of the second operating system as a display buffer region of the display controller. And then, the intelligent terminal does not need to clear and reload data in the interface data cache regions of the first operating system and the second operating system, so that the display controller can display the interface of the second operating system according to the content in the interface data cache region, and the interface switching display is completed. Therefore, the steps of clearing and loading the data in the interface data cache region can be saved by utilizing the embodiment of the invention, so that the interface switching display speed is improved, and the user experience can be improved.
The inventor of the present invention also finds that, in order to prevent display abnormality caused by competition of more than two operating systems for the same display device (for example, a display screen), when the existing interface display method based on system switching is used, each operating system needs to communicate with other operating systems to know whether the interfaces of the other operating systems are displayed; thereby ensuring that only one operating system interface is displayed at a time. However, the communication steps between the operating systems are complicated, and much time is consumed, so that the speed of switching and displaying the interface on the whole is low, and the user experience is reduced.
In the embodiment of the invention, the interface data cache regions of the operating systems are mutually independent, and the content in one interface data cache region is changed without influencing the content in other interface data cache regions. Therefore, the display controller can display the interface of the second operating system according to the designated interface data cache region of the second operating system without communication between the first operating system and the second operating system, and interface switching display is completed. Therefore, the method and the device can save the step of communicating the operating systems to acquire the operating system with the displayed interface, thereby improving the speed of interface switching display and improving the experience of users.
The inventor of the present invention further finds that, when the existing interface display method based on system switching is used, a source code for communicating with other operating systems needs to be added to each operating system, for example, the source code for knowing whether the interfaces of other operating systems are displayed is obtained through a communication interface; thereby ensuring that only one operating system interface is displayed at a time. Therefore, the source code of the operating system needs to be modified by using the existing interface display method based on system switching, the workload is large, the implementation of the existing scheme is difficult, the transportability is weak, the popularization is difficult, and the application range is small.
In the embodiment of the invention, after the operating system in the intelligent terminal is started, the kernel of the intelligent terminal allocates an interface data cache region for the operating system, and after the address of the interface data cache region is designated as the address of the frame buffer equipment of the operating system, the source code of the operating system is not required to be modified, and the interface switching display of multiple operating systems can be realized by using the method provided by the embodiment of the invention. Therefore, the embodiment of the invention has the advantages of small workload, easy implementation, strong transportability, easy popularization and wide application prospect.
The technical solution of the embodiments of the present invention is specifically described below with reference to the accompanying drawings.
The intelligent terminal of the embodiment of the invention can be terminal equipment such as an intelligent mobile phone, a tablet personal computer and the like. A schematic diagram of a framework of an internal structure of the intelligent terminal is shown in fig. 1, and includes: a kernel 101 and at least two operating systems.
The application scenario of the embodiment of the invention is kernel 101 lightweight virtualization realized based on the Linux Container virtualization technology and a multi-isolation system realized based on the virtualization technology.
In the embodiment of the present invention, the operating system may be a Linux operating system or a Unix operating system in a conventional sense, or an Android system, an Ubuntu system, a Meego system, and the like derived based on the Linux operating system, and the multi-isolation system implemented based on the Linux Container virtualization technology is an operating system of the above kind that can be run on the intelligent terminal.
The at least two operating systems may be container-based operating systems. The container-based operating system may be set up according to the following method: more than two containers are created in the intelligent terminal by utilizing a Linux container virtualization technology, and one operating system is installed and operated in each container. Each container is configured with an independent hardware resource access authority configuration, and the container-based operating system can independently access hardware resources, such as CPUs, IO (input output) devices, and the like. The container-based operating system may be configured with a complete set of independent system programs and applications; thereby isolating the container-based operating systems from each other.
In this embodiment of the present invention, when the kernel 101 detects that an operating system in the intelligent terminal is started (for example, for the first time), an interface data cache region is allocated for the started operating system, and an address of the allocated interface data cache region is designated as an FB device address of the operating system.
Preferably, the kernel 101 stores the identifier of the operating system in correspondence with the identifier of the interface data cache region allocated to the operating system, so that the operating system and the interface data cache region are in one-to-one correspondence.
For example, 4 operating systems System1, System2, System3 and System4 in the smart terminal correspond to 4 interface data Buffer areas Buffer1, Buffer2, Buffer3 and Buffer4, respectively.
Preferably, after the operating system is started, an application request of the interface data cache area is sent to the FB device.
After receiving an application request of an interface data cache region sent by an operating system through the FB device, the kernel 101 allocates the interface data cache region for the operating system; and mapping the address space of the FB equipment of the operating system into the address space of the allocated interface data cache region. An FB device is typically embodied as a device node file, such as device node file/dev/FB 0.
At this time, for the operating system, the operating system may write its interface data into the FB device according to the FB device address. Since the kernel 101 has mapped the address space of the FB device of the operating system to the address space of the interface data cache region of the operating system, the operating system actually writes its interface data into the interface data cache region of the operating system according to the address of the interface data cache region of the operating system. The interface data for the operating system may include interface data for system programs or applications in the operating system.
Therefore, in the multi-operating system according to the embodiment of the present invention, the first operating system 102 may store the contents, such as the interface data to be displayed in the running process, into the interface data cache region of the first operating system 102; the second operating system 103 may store the contents such as interface data to be displayed in the running process of the second operating system 103 in the interface data cache region of the second operating system 103.
Taking the case that the first operating system 102 in the multiple operating systems is the operating system currently in the foreground and the second operating system 103 in the multiple operating systems is the operating system to be switched to the foreground as an example, the interface display method based on system switching according to the embodiment of the present invention is described below, where a flow diagram of the method is shown in fig. 2, and includes the following steps:
s201: after receiving the system switching command, the kernel 101 switches the first operating system 102 of the foreground to the background, and switches the second operating system 103 related to the system switching command from the background to the foreground.
Specifically, before the kernel 101 receives the system switching command, the first operating system 102 is in the foreground; the kernel 101 displays the interface of the first operating system 102 on the display screen of the intelligent terminal according to the interface data of the first operating system 102 in the interface data cache region of the first operating system 102.
The first operating system 102 may receive a system switch command input by a user through a variety of methods.
For example, after receiving a click event of a user on a link key of the second operating system 103 on the displayed interface, the first operating system 102 determines to receive a system switching command related to the second operating system 103, which is input by the user.
For another example, after the first operating system 102 captures a designated gesture of the user through a camera of the smart terminal, it is determined that a system switching command related to the second operating system 103 is received, where the system switching command is input by the user.
For another example, after the first operating system 102 detects the designated movement track made by the intelligent terminal through the sensor of the intelligent terminal, it is determined that the system switching command related to the second operating system 103 input by the user is received.
After receiving a system switch command input by a user, the first operating system 102 forwards the system switch command to the kernel 101.
The kernel 101 switches the first operating system 102 of the foreground to the background according to the received system switching command, and switches the second operating system 103 related to the system switching command from the background to the foreground.
Preferably, after the kernel 101 completes the foreground-background switching of the first operating system 102 and the second operating system 103, the foreground-background information of each operating system is recorded. Preferably, after the kernel 101 completes the system foreground and background switching, the foreground and background information of each operating system is stored in correspondence with the identifier of the operating system.
S202: the kernel 101 determines the interface data cache region of the second operating system 103.
After the foreground-background switching of the operating system is completed in step S201, the kernel 101 determines the interface data cache area of the operating system already in the foreground in this step. Specifically, the kernel 101 determines an interface data cache area of the second operating system 103.
Preferably, the kernel 101 determines the identifier of the interface data cache region stored corresponding to the second operating system 103 from the identifier of the operating system and the identifier of the interface data cache region stored corresponding to the second operating system.
Preferably, for each operating system located in the background, the kernel 101 determines, from the identifier of the operating system and the identifier of the interface data cache region that are stored correspondingly, the identifier of the interface data cache region that is stored correspondingly to the operating system.
For example, the kernel 101 determines that the interface data Buffer region Buffer2 of the operating System2 of the foreground has been switched to. Preferably, the kernel 101 determines Buffer1, Buffer3 and Buffer4 of the System1, System3 and System4, respectively, which are located in the background.
Preferably, the kernel 101 determines, for each operating system, the foreground and background information of the operating system and the identifier of the interface data cache area of the operating system, which are stored in correspondence with the identifier of the operating system.
S203: the kernel 101 designates the interface data buffer area of the second operating system 103 as a display buffer area of the display controller.
The display controller in the intelligent terminal of the embodiment of the present invention may include a local display controller. The local display controller is used for displaying the data on a display screen of the intelligent terminal according to the parameters.
The kernel 101 transmits the address of the interface data cache region of the second operating system 103 to the local display controller as the address of the display buffer region of the local display controller.
The kernel 101 sets the display buffer of the local display controller, that is, the display mode of the interface data cache region of the second operating system 103, to an exclusive mode.
For example, the kernel 101 may send the address of the interface data Buffer region Buffer2 of the operating System2 to the local display controller as the address of the display Buffer of the local display controller; and sets the display Buffer of the local display controller, i.e., the display mode of Buffer2, to the exclusive mode.
Preferably, in the embodiment of the present invention, the number of the display buffers of the local display controller is multiple. The kernel 101 may also set the display modes of the multiple display buffers of the local display controller to be a superposition mode, including:
the kernel 101 designates interface data cache regions of the first operating system 102 and the second operating system 103 as a first display buffer region and a second display buffer region of the local display controller, respectively. Specifically, the kernel 101 sends addresses of the interface data cache regions of the first operating system 102 and the second operating system 103 to the local display controller as addresses of a first display buffer region and a second display buffer region of the local display controller, respectively.
The kernel 101 sets the display modes of the first display buffer area and the second display buffer area of the local display controller to be a superposition mode; setting the superposition level of the display buffer area as that the first display buffer area and the second display buffer area are positioned at the bottom layer and the top layer; the transparency of the display buffer located at the non-bottom layer is set.
For example, the kernel 101 sends the addresses of the interface data buffer area of System1-4 to the local display controller as the addresses of the first, second, third, and fourth display buffers of the local display controller, respectively. The kernel 101 sets the display modes of the first, second, third and fourth display buffers of the local display controller to be superposition modes; setting the superposition layers of the display buffer areas, namely a second display buffer area (namely positioned at the top layer), a third display buffer area, a fourth display buffer area and a first display buffer area (namely positioned at the bottom layer) from top to bottom in sequence; the transparency of the second, third and fourth display buffers is set. In fact, the interface of each operating system may have various overlay layers, and is not limited to the overlay layer in this example; the kernel 101 may select a specific overlay layer to set according to actual conditions.
Preferably, in this embodiment of the present invention, the kernel 101 may further set the display modes of the multiple display buffers of the local display controller to be a split screen combination mode, including:
the kernel 101 designates interface data cache regions of the first operating system 102 and the second operating system 103 as a first display buffer region and a second display buffer region of the local display controller, respectively. Specifically, the kernel 101 sends addresses of the interface data cache regions of the first operating system 102 and the second operating system 103 to the local display controller as addresses of a first display buffer region and a second display buffer region of the local display controller, respectively.
The kernel 101 sets the display modes of the first display buffer area and the second display buffer area of the local display controller to be a split screen combination mode; the display positions of the display buffer areas are set to be the first display buffer area and the second display buffer area which are positioned on the right half screen and the left half screen.
For example, the kernel 101 sends the addresses of the interface data buffer area of System1-4 to the local display controller as the addresses of the first, second, third, and fourth display buffers of the local display controller, respectively. The kernel 101 sets the display modes of the first, second, third and fourth display buffers of the local display controller to be a split screen combination mode; the display positions of the first display buffer area, the second display buffer area, the third display buffer area and the fourth display buffer area are respectively quarter screens of the upper right, the upper left, the lower left and the lower right. In fact, the interface of each operating system may have a plurality of display positions, and is not limited to the display position in this example; the kernel 101 may select a designated display position for setting according to actual conditions.
Preferably, the number of the display controllers in the intelligent terminal according to the embodiment of the present invention may be multiple, and the display controller may further include an external display controller in addition to the local display controller. And the external display controller is used for outputting and displaying the data on external display equipment according to the parameters. The external display equipment can be an intelligent television, a notebook computer and the like.
The intelligent terminal of the embodiment of the invention establishes connection with the external display equipment through a wireless local area network or a wired mode, and then starts the external display controller. The Wireless local area network may be a WiFi (Wireless Fidelity) local area network; the wired mode may be to connect to an external display device through a patch cord between a connection port (e.g., a Micro USB interface) of the intelligent terminal and a multimedia interface (e.g., HDMI) and a connection line of the multimedia interface in sequence.
The kernel 101 may also set the display mode of the display buffer of the display controller to a multi-screen mode, including:
the kernel 101 sends the address of the interface data cache region of the first operating system 102 to the local display controller as the address of the display buffer region of the local display controller; the display buffer of the local display controller, i.e., the display mode of the interface data cache area of the first operating system 102, is set to be an exclusive mode.
The kernel 101 sends the address of the interface data cache region of the second operating system 103 to the external display controller as the address of the display buffer region of the external display controller; the display buffer area of the external display controller, that is, the display mode of the interface data cache area of the second operating system 103 is set to be an exclusive mode.
For example, the kernel 101 sends the address of the interface data Buffer1-2 of the System1-2 as the address of the display Buffer of the local display controller and the address of the display Buffer of the external display controller to the local display controller and the external display controller, respectively. The kernel 101 sets the display modes of the display buffers of the local and external display controllers to be exclusive modes.
S204: the display controller displays the interface of the second operating system 103 according to the contents of the designated display buffer.
Specifically, the local display controller obtains the interface data of the second operating system 103 from the interface data cache region of the second operating system 103 according to the address of the interface data cache region of the second operating system 103; and displaying the interface of the second operating system 103 on the display screen of the intelligent terminal in a full screen mode according to the exclusive mode set in the display buffer area. Under the condition of exclusive display, the local display controller does not acquire interface data of other operating systems, and the display screen of the intelligent terminal does not naturally display the interfaces of other operating systems.
For example, the local display controller acquires interface data of System2 from Buffer2 according to the address of Buffer2 of System 2; and according to the exclusive mode set for the Buffer2, displaying the acquired interface data of the System2 on the display screen of the intelligent terminal in a full screen mode. Under the exclusive display condition, the local display controller does not acquire the interface data of the System1, 3 or 4, and the interface of the System1, 3 or 4 is naturally not displayed on the display screen of the intelligent terminal.
Preferably, the local display controller displays the interfaces of the plurality of operating systems in an overlapping manner.
Specifically, the local display controller obtains interface data of the first operating system 102 and the second operating system 103 from respective interface data cache regions of the first operating system 102 and the second operating system 103 according to addresses of the interface data cache regions of the first operating system 102 and the second operating system 103; according to the set overlapping mode, overlapping level and transparency of the display buffer area, the interface of the first operating system 102 switched to the background is displayed on the bottom layer, the interface of the second operating system 103 switched to the foreground is displayed on the top layer on the display screen of the intelligent terminal, and the interface of the second operating system 103 is displayed to be transparent or opaque. When the interface of the second operating system 103 is displayed as transparent, the user can view the interface of the first operating system 102 through the interface of the second operating system 103.
For example, the local display controller obtains interface data of System1-4 from Buffer1-4, respectively; according to the set overlapping mode and overlapping level of the first, second, third and fourth display buffers, respectively displaying interfaces of System2 (top layer), System3, System4 and System1 (bottom layer) on the display screen of the intelligent terminal from top to bottom; wherein the local display controller sets the interfaces of System2, System3, and System4 to transparent according to the transparency with which the second, third, and fourth display buffers are set.
Those skilled in the art can understand that the interface of each operating system displayed in an overlapping manner in this step may be a full-screen display or a non-full-screen display (similar to a window display). When the interface of the non-bottom layer is set to be transparent, a user can observe the interfaces of all the operating systems of the foreground and the background, the foreground and the background of the operating systems can be conveniently switched by the user, and the switching efficiency is improved. When the interfaces of the operating systems are not displayed in a full screen mode, even if the interface on the upper layer is not transparent, a part of the interface on the lower layer is not shielded normally, and a user can input a system switching command through clicking operation on the part, which is not shielded, of the interface on the lower layer, a specified gesture or movement of the mobile terminal along a specified track, so that switching of a foreground and a background of the operating systems is facilitated for the user, and switching efficiency is improved.
Preferably, the local display controller performs split-screen combined display on the interfaces of the multiple operating systems.
Specifically, the local display controller obtains interface data of the first operating system 102 and the second operating system 103 from respective interface data cache regions of the first operating system 102 and the second operating system 103 according to addresses of the interface data cache regions of the first operating system 102 and the second operating system 103; according to the split screen combination mode and the display position of the first display buffer area and the second display buffer area, the interface of the second operating system 103 (located in the foreground) is displayed on the left half screen of the display screen of the intelligent terminal, and the interface of the first operating system 102 (located in the background) is displayed on the right half screen of the display screen.
For example, the local display controller respectively acquires interface data of Systen1-4 from an interface data Buffer region Buffer1-4 of the Systen 1-4; according to the split screen combination mode and the display position set by the Buffer1-4, interfaces of System2, System1, System3 and System4 are respectively displayed on the upper left quarter screen, the upper right quarter screen, the lower left quarter screen and the lower right quarter screen of the display screen of the intelligent terminal.
Preferably, the local display controller and the external display controller perform multi-screen display on the interfaces of the multiple operating systems.
Specifically, the local display controller obtains the interface data of the first operating system 102 from the interface data cache region of the first operating system 102 according to the address of the interface data cache region of the first operating system 102; and displaying the interface of the first operating system 102 on the display screen of the intelligent terminal in a full screen mode according to the exclusive mode set by the display buffer area of the local display controller.
The external display controller acquires the interface data of the second operating system 103 from the interface data cache region of the second operating system 103 according to the address of the interface data cache region of the second operating system 103; and displaying the interface of the second operating system 103 on the external display device in a full screen mode according to the exclusive mode set by the display buffer area of the external display controller.
For example, the local display controller obtains interface data of system1 from an interface data Buffer region Buffer1 of system 1; according to the exclusive mode set by the Buffer1, displaying the interface of the System1 (located in the background) on the display screen of the intelligent terminal in a full screen mode. The external display controller acquires interface data of Systen2 from an interface data Buffer region Buffer2 of Systen 2; according to the exclusive mode in which the Buffer2 is set, the interface of the System2 (located in the foreground) is displayed full screen on the externally connected display device.
In fact, the display modes such as the exclusive mode, the overlay mode, the split screen combination mode, and the multi-screen mode mentioned in the above steps S203 and S204 of the embodiment of the present invention may be mutually converted for display.
For example, in a split screen combination mode, an interface of System1-4 is displayed on a display screen of the intelligent terminal; when a user enlarges the interface of one operating System1 by a designated gesture, the kernel 101 determines that a System switching command for switching System1 to the foreground and a command for setting the display mode of the display controller to the exclusive mode are received, and displays the interface of System1 on the display screen of the intelligent terminal in a full screen mode.
According to the interface display method based on system switching, a schematic diagram of a framework of an internal structure of an inner core 101 of an intelligent terminal according to an embodiment of the present invention is shown in fig. 3a, and includes: a multisystem management module 301 and a display controller 302.
Before receiving the system switching command, the multisystem management module 301 is configured to locate the first operating system 102 in the foreground, so that the display controller 302 is configured to display the interface of the first operating system 102 on the display screen of the intelligent terminal according to the interface data of the first operating system 102 in the interface data cache region of the first operating system 102.
The multi-system management module 301 is configured to switch the first operating system 102 in the foreground to the background and switch the second operating system 103 related to the system switching command to the foreground after receiving the system switching command; designating an interface data cache region of the second operating system 103 as a display buffer region of the display controller; and when the second operating system 103 is started, designating the address of the interface data buffer area of the second operating system 103 as the frame buffer device address of the second operating system 103.
The display controller 302 is configured to display an interface of the second operating system 103 according to the content of the display buffer designated by the multi-system management module 301.
For the above method for implementing the functions of the multiple system management module 301 and the display controller 302, reference may be made to the specific contents of the process steps shown in fig. 2, which are not described herein again.
Preferably, as shown in fig. 3b, the multisystem management module 301 includes: a system switching unit 311, an area specifying unit 312, and an interface data buffer area allocating unit 313. As shown in fig. 3b, the display controller 302 includes: a local display controller 321 and an external display controller 322.
In the multi-system management module 301, the interface data cache region allocating unit 313 is configured to, when the operating system is started, allocate an interface data cache region for the started operating system, and designate an address of the interface data cache region allocated for the operating system as a frame buffer device address of the operating system.
Preferably, the operating system sends an application request of the interface data cache region to the FB device after starting.
The interface data cache region allocation unit 313 allocates an interface data cache region for the operating system after receiving an application request of the interface data cache region sent by the operating system through the FB device; mapping an address space of frame buffer equipment of an operating system into an address space of an allocated interface data buffer area; and the operating system can write the interface data into an interface data buffer area of the operating system according to the address of the frame buffer device.
Preferably, the interface data cache region allocating unit 313 stores the identifier of the operating system in correspondence with the identifier of the interface data cache region allocated to the operating system, so that the operating system and the interface data cache region are in one-to-one correspondence.
The system switching unit 311 is configured to switch the first operating system 102 in the foreground to the background and switch the second operating system 103 related to the system switching command to the foreground after receiving the system switching command.
Preferably, after the system switching unit 311 completes the foreground-background switching of the first operating system 102 and the second operating system 103, the foreground-background information of each operating system is stored in correspondence with the identifier of the operating system.
The area designation unit 312 is configured to designate an interface data buffer area of the second operating system 103 as a display buffer area of the display controller.
Specifically, the area specifying unit 312 determines the interface data cache area of the second operating system 103.
Preferably, the area specifying unit 312 determines, for each operating system, the foreground and background information of the operating system, which is stored in correspondence with the identifier of the operating system, and the identifier of the interface data cache area of the operating system.
The area specifying unit 312 determines the interface data cache area of the second operating system 103, and then sends the address of the interface data cache area of the second operating system 103 to the local display controller 321 as the address of the display buffer area of the local display controller 321. Also, the area specifying unit 312 sets the display manner of the display buffer of the local display controller 321 to the exclusive manner.
And the local display controller 321 is configured to display the interface of the second operating system 103 in full screen according to the exclusive mode set by the area specifying unit 312.
Specifically, the local display controller 321 obtains the interface data of the second operating system 103 from the interface data cache region of the second operating system 103 according to the address of the interface data cache region of the second operating system 103; and displaying the interface of the second operating system 103 on the display screen of the intelligent terminal in a full screen mode according to the exclusive mode set in the display buffer area.
Preferably, when the display buffer area of the local display controller 321 is multiple, the area designating unit 312 is further configured to designate the interface data cache area of the first operating system and the interface data cache area of the second operating system as the first display buffer area and the second display buffer area of the local display controller 321, respectively; setting the display mode of the first display buffer area and the second display buffer area as a superposition mode, and setting the superposition level of the display buffer areas as that the first display buffer area and the second display buffer area are positioned at the bottom layer and the top layer; the transparency of the display buffer located at the non-bottom layer is set.
And the local display controller displays the interfaces of the plurality of operating systems in an overlapping manner.
Specifically, the local display controller 321 obtains interface data of the first operating system 102 and the second operating system 103 from respective interface data cache regions of the first operating system 102 and the second operating system 103 according to addresses of the interface data cache regions of the first operating system 102 and the second operating system 103; according to the set overlapping mode, overlapping level and transparency of the display buffer area, the interface of the first operating system 102 switched to the background is displayed on the bottom layer, the interface of the second operating system 103 switched to the foreground is displayed on the top layer on the display screen of the intelligent terminal, and the interface of the second operating system 103 is displayed to be transparent or opaque.
Preferably, the area specifying unit 312 may further set the display modes of the plurality of display buffers of the local display controller 321 to a split screen combination mode, including: the area designation unit 312 designates the interface data buffer areas of the first operating system 102 and the second operating system 103 as a first display buffer area and a second display buffer area of the local display controller 321, respectively.
Specifically, the area specifying unit 312 sends the addresses of the interface data cache areas of the first operating system 102 and the second operating system 103 to the local display controller as the addresses of the first display buffer area and the second display buffer area of the local display controller 321, respectively. Moreover, the area specifying unit 312 sets the display modes of the first display buffer and the second display buffer of the local display controller to be the split screen combination mode; the display positions of the display buffer areas are set to be the first display buffer area and the second display buffer area which are positioned on the right half screen and the left half screen.
The local display controller 321 performs a combined split-screen display of the interfaces of the plurality of operating systems.
Specifically, the local display controller 321 obtains interface data of the first operating system 102 and the second operating system 103 from respective interface data cache regions of the first operating system 102 and the second operating system 103 according to addresses of the interface data cache regions of the first operating system 102 and the second operating system 103; according to the split screen combination mode and the display position of the first display buffer area and the second display buffer area, the interface of the second operating system 103 (located in the foreground) is displayed on the left half screen of the display screen of the intelligent terminal, and the interface of the first operating system 102 (located in the background) is displayed on the right half screen of the display screen.
Preferably, the region specifying unit 312 may further set the display mode of the display buffer of the display controller 302 to a multi-screen mode, including:
the area specifying unit 312 transmits the address of the interface data cache area of the first operating system 102 to the local display controller 321 as the address of the display buffer area of the local display controller 321; the display buffer of the local display controller 321, i.e., the display mode of the interface data cache region of the first operating system 102, is set to be an exclusive mode.
The area specifying unit 312 sends the address of the interface data cache area of the second operating system 103, which is the address of the display buffer area of the external display controller 322, to the external display controller 322; the display buffer area of the external display controller 322, i.e. the display mode of the interface data cache area of the second operating system 103, is set to be the exclusive mode.
And the local display controller 321 and the external display controller 322 perform multi-screen display on interfaces of a plurality of operating systems.
Specifically, the local display controller 321 obtains the interface data of the first operating system 102 from the interface data cache region of the first operating system 102 according to the address of the interface data cache region of the first operating system 102; and displaying the interface of the first operating system 102 on the display screen of the intelligent terminal in a full screen mode according to the exclusive mode set by the display buffer area of the local display controller 321.
The external display controller 322 obtains the interface data of the second operating system 103 from the interface data cache region of the second operating system 103 according to the address of the interface data cache region of the second operating system 103; and displaying the interface of the second operating system 103 on the external display device in a full screen mode according to the exclusive mode that the display buffer area of the external display controller 322 is set.
The above-mentioned method for implementing the functions of the system switching unit 311, the area specifying unit 312, the interface data cache area allocating unit 313, the local display controller 321 and the external display controller 322 may refer to the specific contents of the process steps shown in fig. 2, and will not be described herein again.
In the embodiment of the invention, after receiving a system switching command, the intelligent terminal switches a first operating system of a foreground to a background and switches a second operating system related to the system switching command from the background to the foreground; and designating the interface data cache region of the second operating system as a display buffer region of the display controller, so that the display controller displays the interface of the second operating system according to the content in the interface data cache region, thereby completing interface switching display. Therefore, compared with the prior art, the method and the device for processing the interface data can save the steps of clearing and loading the data in the interface data cache region, and can save the step of obtaining the operating system displayed by the interface through mutual communication among the operating systems, thereby improving the speed of interface switching display and improving the experience of users.
In addition, in the embodiment of the present invention, after the operating system in the intelligent terminal is started, the kernel of the intelligent terminal allocates an interface data cache region for the operating system, and after the address of the interface data cache region is specified as the address of the frame buffer device of the operating system, the interface switching display of multiple operating systems can be implemented by using the method provided in the embodiment of the present invention without modifying the source code of the operating system. Therefore, the embodiment of the invention has the advantages of small workload, easy implementation, strong transportability, easy popularization and wide application prospect.
Further, in the embodiment of the present invention, each operating system in the intelligent terminal may write the respective interface data into the respective interface data cache area for storage through the same FB device. That is to say, the embodiment of the present invention can be implemented in the case that the number of single FB devices or FB devices is less than the number of operating systems, and is easy to implement, strong in portability, easy to popularize, and has a wide application prospect.
In addition, in the embodiment of the invention, the intelligent terminal can display the interfaces of a plurality of operating systems in a superposition mode; when the interface of the non-bottom layer is set to be transparent, a user can observe the interfaces of all the operating systems of the foreground and the background, the foreground and the background of the operating systems can be conveniently switched by the user, and the switching efficiency is improved. The intelligent terminal can utilize the local display controller and the external display controller to carry out multi-screen display on the interfaces of the operating systems; for example, the intelligent terminal can output video data to an external smart television for display through an external display controller, and display a webpage on a display screen of the intelligent terminal through a local display controller, so that a user can surf the internet and watch videos at the same time; therefore, the user experience is greatly improved, and the utilization rate of the intelligent terminal is improved.
Those skilled in the art will appreciate that the present invention includes apparatus directed to performing one or more of the operations described in the present application. These devices may be specially designed and manufactured for the required purposes, or they may comprise known devices in general-purpose computers. These devices have stored therein computer programs that are selectively activated or reconfigured. Such a computer program may be stored in a device (e.g., computer) readable medium, including, but not limited to, any type of disk including floppy disks, hard disks, optical disks, CD-ROMs, and magnetic-optical disks, ROMs (Read-Only memories), RAMs (Random Access memories), EPROMs (Erasable programmable Read-Only memories), EEPROMs (Electrically Erasable programmable Read-Only memories), flash memories, magnetic cards, or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a bus. That is, a readable medium includes any medium that stores or transmits information in a form readable by a device (e.g., a computer).
It will be understood by those within the art that each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by computer program instructions. Those skilled in the art will appreciate that the computer program instructions may be implemented by a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, implement the features specified in the block or blocks of the block diagrams and/or flowchart illustrations of the present disclosure.
Those of skill in the art will appreciate that various operations, methods, steps in the processes, acts, or solutions discussed in the present application may be alternated, modified, combined, or deleted. Further, various operations, methods, steps in the flows, which have been discussed in the present application, may be interchanged, modified, rearranged, decomposed, combined, or eliminated. Further, steps, measures, schemes in the various operations, methods, procedures disclosed in the prior art and the present invention can also be alternated, changed, rearranged, decomposed, combined, or deleted.
The foregoing is only a partial embodiment of the present invention, and it should be noted that, for those skilled in the art, various modifications and decorations can be made without departing from the principle of the present invention, and these modifications and decorations should also be regarded as the protection scope of the present invention.