Application sharing method and device, chip, electronic equipment and storage medium

CN117520016BActive Publication Date: 2026-10-27BEIJING SEMIDRIVE TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311554387.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-11-21
Publication Date
2026-10-27
Estimated Expiration
2043-11-21

AI Technical Summary

Benefits of technology

[0050]本申请中,针对不同Die中各自的一个硬件域对应的操作系统间,通过一操作系统对另一操作系统的应用的共享,实现了一操作系统对另一操作系统的访问。如此,为目标芯片中的任意两个或多个Die芯片上的操作系统间的访问,提供了一种技术支持。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117520016B_ABST
    Figure CN117520016B_ABST
Patent Text Reader

Abstract

The application discloses an application sharing method and device, a chip, electronic equipment and a storage medium. The method comprises the following steps: obtaining a first target request in which a first operating system requests a second operating system to perform application sharing; the first operating system is an operating system corresponding to a hardware domain included in a first die; the second operating system is an operating system corresponding to a hardware domain included in a second die; the first die is one of M dies; the second die is one of the M dies except the first die; the first operating system can run a first application; the second operating system can run a second application; the first application and the second application are different; the first target request is transmitted to the second operating system; application data of a first application to be shared generated by the second operating system in response to the first target request is obtained; and the application data of the first application to be shared is displayed in the first operating system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of application sharing technology, and in particular to an application sharing device, chip, electronic device and storage medium. Background Technology

[0002] In the semiconductor field, chiplet refers to a chip modularization technology. It breaks down a large integrated circuit into multiple smaller chips, then integrates them into the same package to achieve more efficient design, manufacturing, and flexibility. The multiple smaller chips can be freely combined according to needs to build custom chips that meet specific requirements and practical needs.

[0003] In practical applications, chips designed using chiplet technology can be considered system-on-a-chip (SoC), and the individual small chips within an SoC can be wafer (die) chips. When each chip die is designed to include two or more hardware domains, with each hardware domain corresponding to an operating system, how the operating systems on any two or more SoC dies can access each other becomes a pressing technical problem. Summary of the Invention

[0004] This application provides an application sharing device, chip, electronic device, and storage medium to at least solve the above-mentioned technical problems existing in the prior art.

[0005] According to a first aspect of this application, an application sharing method is provided, applied to a target chip, the target chip comprising M wafer dies, where M is an integer greater than or equal to 2; each die comprising at least two hardware domains, each hardware domain of each die corresponding to an operating system; the method comprising:

[0006] A first target request is obtained from a first operating system requesting a second operating system to share an application; wherein, the first operating system is the operating system corresponding to a hardware domain included in a first die, and the second operating system is the operating system corresponding to a hardware domain included in a second die; the first die is one of M dies, and the second die is the other M dies excluding the first die; the first operating system is capable of running a first application, and the second operating system is capable of running a second application, and the first application and the second application are different; the first target request is used by the first operating system to request the second operating system to share the second application;

[0007] The first target request is transmitted to the second operating system;

[0008] Obtain application data of the first application to be shared, generated by the second operating system in response to the request from the first target;

[0009] Display the application data of the first application to be shared in the first operating system.

[0010] In one possible implementation, obtaining the application data of the first application to be shared, generated by the second operating system in response to the first target request, includes:

[0011] The application data of the first application to be shared is transmitted to the virtual node of the first operating system for caching;

[0012] Retrieve data cached in the virtual node of the first operating system;

[0013] The application data of the first application to be shared is the data displayed on the virtual screen of the second operating system when the second operating system responds to the first target request.

[0014] In one possible implementation, the first operating system includes a display screen, and when the application data of the first application to be shared is displayed on the display screen of the first operating system as the first application data,

[0015] Obtain the update operation for the first application data, and send the operation information of the update operation to the second operating system;

[0016] Obtain the second application data of the first application to be shared from the second operating system; the second application data is the updated data generated by the second operating system on the virtual screen of the second operating system based on the operation information;

[0017] The second application data of the first application to be shared is displayed on the screen.

[0018] In one possible implementation, the display screen of the first operating system displays a first application list and / or a second application list; wherein the first application list includes the identifier of the first application, and the second application list includes the identifier of the second application; the first operating system obtains the identifier of the second application through a communication connection established with the second operating system;

[0019] The first target request obtained by the first operating system to request the second operating system to share applications includes:

[0020] Obtain input operations for the display screen;

[0021] When the input operation is a sharing operation for the second application list, a first target request is generated to request the second operating system to share the application.

[0022] In one possible implementation, the method further includes:

[0023] The application data of the first application to be shared is obtained by using the V4L2 architecture and cached in the virtual node of the first operating system. The application data is then displayed on the display screen of the first operating system to display the application data of the first application to be shared in the first operating system.

[0024] In one possible implementation, the Internet Protocol (IP) addresses used by the first operating system and the second operating system during communication have the same address range.

[0025] In one possible implementation, one of the first operating system and the second operating system is the vehicle's instrument system, and the other system is the vehicle's central control system.

[0026] In one possible implementation, the method further includes:

[0027] Obtain a second target request from the second operating system to request application sharing from the first operating system;

[0028] In response to the second target request, obtain the application data of the second application to be shared by the second operating system, which requests the first operating system to share the data.

[0029] The application data of the second application to be shared is transmitted to the second operating system for display by the second operating system.

[0030] In one possible implementation, the method further includes:

[0031] A third target request is obtained from a first operating system requesting a third operating system to share applications; wherein, the third operating system is a system other than the second operating system in the second die, or an operating system corresponding to a hardware domain included in the third die; the third die is any of the M dies other than the first die and the second die; the third application that the third operating system can run is different from the second application that the first operating system can run; the third target request is used by the first operating system to request the third operating system to share the third application;

[0032] Transmit the third target request to the third operating system;

[0033] Obtain application data of a third application to be shared, generated by a third operating system in response to a request from a third target;

[0034] Display the application data of the third application to be shared in the first operating system.

[0035] In one possible implementation, the method further includes:

[0036] Obtain a fourth target request from the third operating system to request application sharing from the first operating system;

[0037] In response to the fourth target request, the application data of the fourth application to be shared, which the third operating system requested the first operating system to share, is obtained.

[0038] The application data of the fourth application to be shared is transferred to the third operating system for display by the third operating system.

[0039] According to a second aspect of this application, an application sharing device is provided, applied to a target chip, the target chip comprising M wafer dies, where M is an integer greater than or equal to 2; each die comprising at least two hardware domains, each hardware domain of each die corresponding to an operating system; the device comprising:

[0040] The first obtaining unit is configured to obtain a first target request from the first operating system requesting the second operating system to share applications; wherein, the first operating system is the operating system corresponding to a hardware domain included in the first die, and the second operating system is the operating system corresponding to a hardware domain included in the second die; the first die is one of M dies, and the second die is the other dies among the M dies excluding the first die; the first operating system is capable of running a first application, and the second operating system is capable of running a second application, and the first application and the second application are different; the first target request is used by the first operating system to request the second operating system to share the second application;

[0041] The transmission unit is used to transmit the first target request to the second operating system;

[0042] The second obtaining unit is used to obtain application data of the first application to be shared generated by the second operating system in response to the first target request;

[0043] The display unit is used to display the application data of the first application to be shared in the first operating system.

[0044] According to a third aspect of this application, a chip is provided, including the aforementioned application sharing device.

[0045] According to a fourth aspect of this application, an electronic device is provided, comprising:

[0046] At least one processor; and

[0047] A memory communicatively connected to the at least one processor; wherein,

[0048] The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method described in this application.

[0049] According to a fifth aspect of this application, a non-transitory computer-readable storage medium is provided storing computer instructions for causing the computer to perform the methods described in this application.

[0050] In this application, for operating systems corresponding to a hardware domain in different dies, access between one operating system and another is achieved through the sharing of applications from one operating system to another. This provides technical support for access between operating systems on any two or more dies within a target chip.

[0051] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this application, nor is it intended to limit the scope of this application. Other features of this application will become readily apparent from the following description. Attached Figure Description

[0052] The above and other objects, features, and advantages of exemplary embodiments of this application will become readily apparent from the following detailed description taken in conjunction with the accompanying drawings. Several embodiments of this application are illustrated in the drawings by way of example and not limitation, in which:

[0053] In the accompanying drawings, the same or corresponding reference numerals indicate the same or corresponding parts.

[0054] Figure 1 A schematic diagram of the multi-core heterogeneous chip configuration in an embodiment of this application is shown;

[0055] Figure 2 This paper illustrates the implementation flow of the sharing method in an embodiment of this application. Figure 1 ;

[0056] Figure 3 This paper illustrates the implementation flow of the sharing method in an embodiment of this application. Figure 2 ;

[0057] Figure 4 This paper illustrates the implementation flow of the sharing method in an embodiment of this application. Figure 3 ;

[0058] Figure 5 This paper illustrates the implementation flow of the sharing method in an embodiment of this application. Figure 4 ;

[0059] Figure 6 This is a schematic diagram illustrating the interaction between two dies in an embodiment of this application;

[0060] Figure 7This is a schematic diagram illustrating the interaction between the first operating system and the second operating system at the application layer and system layer in the embodiments of this application;

[0061] Figure 8 This is a schematic diagram of the interaction between the first operating system and the second operating system in the embodiments of this application. Figure 1 ;

[0062] Figure 9 This is a schematic diagram of the interaction between the first operating system and the second operating system in the embodiments of this application. Figure 2 ;

[0063] Figure 10 This is a schematic diagram of the composition structure of the application sharing device in the embodiments of this application;

[0064] Figure 11 A schematic diagram of the composition structure of the electronic device in an embodiment of this application is shown. Detailed Implementation

[0065] To make the objectives, features, and advantages of this application more apparent and understandable, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0066] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0067] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0068] In the following description, the terms "first" and "second" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first" and "second" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.

[0069] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.

[0070] It should be understood that in the various embodiments of this application, the sequence number of each implementation process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0071] The target chip involved in this application is a system-on-a-chip (SoC) designed using chiplet technology. Each die chip in the SoC is a multi-core heterogeneous chip. A multi-core heterogeneous chip refers to a chip that integrates processor cores of different architectures within a single chip. Each processor core in a multi-core heterogeneous chip can function as an independent processor, independently executing the instructions required by each core and fulfilling the tasks required by each core. It can be understood that, as a chip with multiple cores, a multi-core heterogeneous chip, compared to a single-core processor chip, offers advantages in performance due to the independent operation of each core's tasks, resulting in faster processing speeds, improved multitasking capabilities, and higher performance. Furthermore, having multiple cores on a single chip offers the advantage of lower cost.

[0072] like Figure 1 As shown, the multi-core heterogeneous chip includes multiple processor cores with different architectures, including a first processor core, a second processor core, ..., an Nth processor core. N is a positive integer greater than or equal to 2, and can be flexibly set according to actual needs. Each processor core is essentially a computing engine, and its type and / or number can differ. The types of processor cores include cores with high computing power and cores with high real-time performance (fast computation). Differences in the type and / or number of processor cores can, to some extent, achieve architectural differences between the processor cores.

[0073] For example, since embedded processors (ARM) have the advantages of low cost and low power consumption, digital signal processors (DSP) have the advantages of dedicated digital processing, and programmable logic arrays (FPGAs) have the advantages of high-speed processing, each type of processor is used as a processor core. If they are designed on the same SOC chip, a multi-core heterogeneous SOC chip can be obtained.

[0074] Each processor core and the hardware resources connected to each other, such as clock controllers, interrupt controllers, and memory space, constitute each hardware domain. A multi-core heterogeneous chip includes two or more hardware domains; that is, a die chip includes two or more hardware domains. In a multi-core heterogeneous chip, each hardware domain is a collection of hardware resources. Different hardware domains are isolated from each other; this isolation can be considered a physical isolation. For example, hardware designs within the same hardware domain are located close to each other on the multi-core heterogeneous chip, while hardware designs in different hardware domains are located at different locations on the multi-core heterogeneous chip, achieving isolation through physical location. However, in the embodiments of this application, the mutual isolation between different hardware domains is not physical isolation, but logical isolation between different hardware domains. This logical isolation can be reflected in the following: hardware resources within the same hardware domain need to use the same communication identifier, while hardware resources in different hardware domains use different communication identifiers. Hardware resources within the same hardware domain can access each other based on the communication identifier within that hardware domain.

[0075] In practical applications, it is preferable to isolate different hardware domains as a form of logical isolation, which can at least save chip space.

[0076] In multi-core heterogeneous chips, an operating system is configured for each hardware domain. For example, a first operating system is configured for the first hardware domain, and a second operating system is configured for the second hardware domain. The operating systems configured for different hardware domains can be the same system or different systems. For example, the first operating system configured for the first hardware domain is Linux, and the second operating system configured for the second hardware domain is Android. Because Linux is highly secure and Android is fast, tasks with high security requirements in a multi-core heterogeneous system can be executed by Linux, while tasks requiring fast execution can be executed by Android. Therefore, different operating systems on different hardware domains can be used in a multi-core heterogeneous system to achieve efficient execution of various tasks.

[0077] In this embodiment, communication needs also exist between hardware domains. When communication needs exist between different hardware domains, an inter-core communication mechanism can be used to achieve communication between hardware domains. Among them, the inter-core communication mechanism in a multi-core heterogeneous system includes a mailbox mechanism suitable for instruction transmission and a memory sharing mechanism suitable for data sharing. Inter-core communication within a single chip integrating processor cores of different architectures can ensure data transmission within the same chip, ensuring data security and transmission speed.

[0078] Typically, hardware resources differ across different hardware domains. These differences may manifest in hardware type, model, quantity, and other aspects. This variability, to some extent, reflects the heterogeneity of multi-core heterogeneous systems. As discussed earlier, the multi-core heterogeneity in this application is a hardware-level concept and is unrelated to the software level.

[0079] like Figure 1 As shown, the multi-core heterogeneous chip in this embodiment also includes various types of control units. These control units include, but are not limited to, a power control unit, a non-volatile memory control unit, and a volatile memory control unit. The power control unit controls the power supply unit to provide power to the multi-core heterogeneous chip. The non-volatile memory control unit controls access to non-volatile memory units by at least one processor core in the multi-core heterogeneous chip. The volatile memory control unit controls access to volatile memory units by at least one processor core in the multi-core heterogeneous chip.

[0080] Among them, the power supply unit, non-volatile memory unit, and volatile memory unit, as hardware resources outside the multi-core heterogeneous chip, can be called upon when needed by the multi-core heterogeneous chip. In addition, hardware such as audio output units (such as speakers) and video output units (such as displays), as hardware resources outside the multi-core heterogeneous chip, can also be called upon when needed by the multi-core heterogeneous chip to achieve normal audio and video output.

[0081] As can be seen from the foregoing description, in this application, each die chip in the target chip designed using chiplet technology includes two or more hardware domains. Each hardware domain in a single die chip corresponds to an operating system. The following uses any two dies in the target chip as an example to illustrate how the operating systems on different dies access each other.

[0082] Figure 2 This paper illustrates the implementation flow of the sharing method in an embodiment of this application. Figure 1 .like Figure 2 As shown, the method includes:

[0083] S(Step) 201: Obtain a first target request from the first operating system to the second operating system for application sharing; wherein, the first operating system is the operating system corresponding to a hardware domain included in the first die, and the second operating system is the operating system corresponding to a hardware domain included in the second die; the first die is one of M dies, and the second die is the other dies among the M dies excluding the first die; the first operating system is capable of running a first application, and the second operating system is capable of running a second application, and the first application and the second application are different; the first target request is used by the first operating system to request the second operating system to share the second application.

[0084] From a coarse-grained perspective, such as from the perspective of a die chip, the first operating system and the second operating system are systems located on two different die chips. From a fine-grained perspective, the first operating system and the second operating system are operating systems corresponding to a hardware domain in each of the two different die chips. For ease of explanation, this application mainly describes the process from a coarse-grained perspective.

[0085] The first and second operating systems can be the same type of operating system, such as both being Android or both being Linux. Alternatively, the first and second operating systems can be different types of operating systems, such as one being Android and the other Linux. Preferably, the first and second operating systems are the same type of operating system.

[0086] The first operating system and the second operating system each have their own applications. These applications differ at least partially from each other. The application that the first operating system requests the second operating system to share (the first application to be shared) should be an application that the second operating system has but the first operating system does not. Therefore, the meaning of the first operating system requesting sharing in this application's technical solution is that the first operating system requests the sharing of applications in the second operating system that the first operating system does not have.

[0087] If one operating system can share applications with another, it also enables one operating system to access another. This access scheme provides technical support for communication between different dies within a target chip. Specifically, this application's technical solution aims to enable inter-operating system access to applications within a single hardware domain of different dies.

[0088] The first operating system obtains the identifier of the second application through a communication connection established with the second operating system. When the first operating system boots up, its display screen can show one of the first application list or the second application list. The first application list includes the identifier of the first application. The second application list includes the identifier of the second application. The application identifier can be any identifier that uniquely identifies the application, such as the application name, application icon, etc.

[0089] Taking the first operating system displaying a first application list and a second application list as an example, if a user of the first operating system requests to share an application from the second operating system, an input operation will be generated on the display screen of the first operating system. The first operating system obtains the input operation on the display screen through monitoring. When the input operation is a sharing operation for the second application list, a first target request is generated to request the second operating system to share the application.

[0090] Sharing operations can be any reasonable virtual button operation on the interface of the second application list, such as clicking, double-clicking, swiping, or voice input. Sharing operations can also be operations performed on the identifiers of one or more applications to be shared in the second application list, such as clicking, double-clicking, swiping, or voice input. Considering that the applications in the second application list are applications that can run on the second operating system and are different from applications on the first operating system, sharing operations can be operations that share one or some applications in the second operating system, or operations that share all applications in the second operating system.

[0091] During implementation, the first operating system monitors for sharing operations from users. If the first operating system detects such operations and deems the user to have a need to share an application from the second operating system to the first operating system, it generates a first target request to request the second operating system to share the application. The first target request carries an identifier of the application (the first application to be shared) that the first operating system expects the second operating system to share, such as the application's name and icon.

[0092] S202: Transmit the first target request to the second operating system.

[0093] In practical applications, for operating systems located on two different dies to communicate normally, a communication connection needs to be established between them. At the hardware level, this communication connection requires the support of hardware capable of providing the necessary connectivity. Supported hardware includes, but is not limited to, network interface devices (netdev) and hardware interface devices (HPL). At the software level, this communication connection requires the support of relevant transmission protocols, such as Transmission Control Protocol (TCP). Through the design of the aforementioned hardware and software protocols, in one embodiment, a specific type of communication connection can be formed between the two operating systems, such as a socket transmission connection, where the two operating systems communicate using socket technology. For ease of description, this type of communication connection is referred to as a socket connection.

[0094] In this embodiment of the application, the first operating system may use the Socket connection established with the second operating system to transmit a first target request generated by itself for requesting to share the application of the second operating system to the second operating system.

[0095] The second operating system receives a first target request from the first operating system via a Socket connection. Responding to the first target request, it parses the request to determine what type of application the first operating system expects it to share (to be shared). It then launches the parsed (first) application to be shared, and the second operating system's virtual screen displays the application data of the first application to be shared. In other words, the application data of the first application to be shared is the data displayed on the second operating system's virtual screen when it responds to the first target request. Through the Socket connection, the second operating system transmits the application data of the (first) application to be shared to the first operating system.

[0096] The identifiers of each second application in the second application list are obtained by the first operating system through a socket connection established with the second operating system.

[0097] S203: Obtain application data of the first application to be shared generated by the second operating system in response to the first target request.

[0098] In this step, the first operating system receives application data from the first application to be shared from the second operating system via Socket transmission.

[0099] S204: Display the application data of the first application to be shared in the first operating system.

[0100] The application data of the first application to be shared, received by the first operating system, is displayed on the screen of the first operating system, so as to facilitate the use of the application data of the second operating system by the users of the first operating system. In this way, based on the aforementioned application sharing scheme between operating systems, the user experience can be greatly improved and the usability of applications in each operating system can be enhanced.

[0101] The execution entity for S201 to S204 is the operating system (the one expected to be shared by applications) corresponding to any hardware domain among the various dies included in the target chip. For example, the first operating system mentioned above.

[0102] Using the technical solutions shown in S201 to S204, access between operating systems corresponding to a hardware domain in different dies is achieved through the sharing of applications from one operating system to another. In simpler terms, the technical solutions shown in S201 to S204 provide technical support for access between operating systems on any two or more dies within a system-on-a-chip (SoC).

[0103] In this embodiment, a virtual node is constructed for the first operating system. The virtual node is used to cache application data from a first application to be shared, originating from the second operating system. Specifically, the application data from the first application to be shared, originating from the second operating system, is transmitted and cached in the virtual node of the first operating system. The first operating system acquires, specifically reads, the data cached in the virtual node of the first operating system for displaying the application data of the first application to be shared on the display screen of the first operating system.

[0104] The virtual nodes are built within the first operating system to adapt to the V4L2 architecture framework. V4L2 is an architecture for video processing that provides a standard set of APIs, allowing applications or the operating system to easily access application data, such as video, that is being shared.

[0105] During implementation, the first operating system obtains the application data of the first application to be shared, cached in the virtual node of the first operating system via the V4L2 architecture, to facilitate convenient access to the application data of the application to be shared. The first operating system displays the application data obtained through the V4L2 architecture on the display screen.

[0106] As one implementation method, such as Figure 3 As shown, the application sharing method in this application embodiment further includes:

[0107] S301: When the application data of the first application to be shared is displayed as the first application data on the display screen of the first operating system, an update operation for the first application data is obtained, and the operation information of the update operation is sent to the second operating system.

[0108] For example, taking the first application to be shared displayed on the screen of the first operating system as a video application, such as application A, the display interface of application A displays short video content 1. If the user of the first operating system no longer wants to watch short video content 1, an update operation will be generated on the display interface to update the playing short video content. For example, swiping down along the playback interface of short video 1, swiping to the right along the playback interface of short video 1, or swiping to the left along the playback interface of short video 1.

[0109] The first operating system monitors for the existence of the aforementioned update operations. Upon detecting an update operation, it sends the operation information to the second operating system via a Socket connection. This operation information includes, but is not limited to, the operation type (if the update operation is a slide), the operation direction, and the operation duration.

[0110] S302: Obtain the second application data of the first application to be shared from the second operating system; the second application data is the updated data generated by the second operating system on the virtual screen of the second operating system based on the operation information.

[0111] In this step, taking the update operation information, including whether the update operation is a swipe and the direction of the swipe, as an example, the second operating system analyzes the update operation information to determine which content the user of the first operating system wants to update from content 1 to. If the swipe direction is downward along the playback interface of short video 1, then the user wants to update to content 2, and content 2 is displayed on the virtual screen of the second operating system. If the swipe direction is to the right along the playback interface of short video 1, then the user wants to update to content 3, and content 3 is displayed on the virtual screen of the second operating system. If the swipe direction is to the left along the playback interface of short video 1, then the user wants to update to content 4, and content 4 is displayed on the virtual screen of the second operating system. The second operating system uses the content displayed on the virtual screen as update data, which can be used as the second application data that the user wants to update. The second operating system transmits the second application data to the first operating system via a Socket connection.

[0112] S303: Display the second application data of the first application to be shared on the display screen.

[0113] In this step, the display interface of the first application to be shared, shown on the screen of the first operating system, is switched from displaying content 1 to displaying content 2, content 3, or content 4 that the user wants to view. This enables the sharing application from the second operating system to update its displayed content on the sharing end (the first operating system side). This provides technical support for updating the content of shared applications between operating systems corresponding to a hardware domain in different dies.

[0114] In some embodiments, such as Figure 4 As shown, the application sharing method in this application embodiment further includes:

[0115] S401: Obtain a second target request from the second operating system to request application sharing from the first operating system.

[0116] If a user of the second operating system needs to use applications that are not available in the second operating system, a sharing operation will occur on the user interface presented by the second operating system. For an explanation of this sharing operation, please refer to the foregoing description; it will not be repeated here.

[0117] The second operating system monitors for sharing operations from users. If the second operating system detects such operations and deems the user to have a need to share applications from the first operating system to the second operating system, it generates a second target request to request the first operating system to share its applications. This second target request carries identifiers of the applications (the second applications to be shared) that the second operating system expects the first operating system to share, such as the application's name and icon.

[0118] The second operating system can use the Socket transmission established with the first operating system to transmit a second target request, generated by itself, to the first operating system for requesting to share applications of the first operating system. The first operating system obtains the second target request by receiving the second target request from the second operating system.

[0119] S402: Responding to the second target request, obtain the application data of the second application to be shared by the second operating system, which requests the first operating system to share the data.

[0120] In this step, the first operating system responds to the second target request, parses the second target request, parses out what kind of application the second operating system expects it to share (to be shared), starts the parsed (second) application to be shared, and obtains the application data of the (second) application to be shared.

[0121] S403: Transfer the application data of the second application to be shared to the second operating system for display by the second operating system.

[0122] In this step, the first operating system transmits the application data of the (second) application to be shared to the second operating system via Socket transmission.

[0123] The execution entity of S401 to S403 is the operating system (the one expected to be shared by applications) corresponding to any hardware domain in each die chip included in the target chip. For example, the first operating system mentioned above.

[0124] Using the technical solutions shown in S401 to S403, for the operating systems corresponding to a hardware domain in different dies, access from one operating system to another is realized through the sharing of applications from one operating system to another.

[0125] For the operating systems corresponding to a hardware domain in different dies, the aforementioned schemes S201 to S204 enable one operating system to access another. Schemes S401 to S403 enable another operating system to access the first operating system. In other words, the technical solution of this application enables mutual access to applications within the operating systems corresponding to a hardware domain in different dies, such as mutual sharing of applications. This provides technical support for communication between dies in the target chip.

[0126] In some embodiments, such as Figure 5 As shown, the application sharing method in this application embodiment further includes:

[0127] S501: Obtain a third target request from the first operating system requesting the third operating system to share applications; wherein, the third operating system is an operating system other than the second operating system in the second die, or the third operating system is an operating system corresponding to a hardware domain included in the third die, and the third die is any of the M dies other than the first die and the second die; the third application that the third operating system can run is different from the second application that the first operating system can run; the third target request is used by the first operating system to request the third operating system to share the third application.

[0128] In practical applications, a user of the first operating system may need to use two applications simultaneously: Application 1 and Application 2. For example, a user might be reading a document while listening to music or watching a video. However, the first operating system itself does not have these two applications; Application 1 is an application in the second operating system, and Application 2 is an application in the third operating system. Assume Application 1 is a document application and Application 2 is a music application. In the second application list of the first operating system, for the sharing operation of the document application in the first application identifier list, the following can be used: Figures 2-4 The scheme shown enables the sharing of Application 1 in the second operating system within the first operating system.

[0129] After startup, the first operating system can establish a socket connection with the third operating system, obtain the identification information of the third applications from the third operating system, and record the identification information of the third applications into its own third application list. For sharing operations of music applications in the third application list by users of the first operating system, the following can be used: Figure 5 The scheme shown enables the sharing of application 2 from the third operating system within the first operating system.

[0130] If a user of the first operating system requests to share an application from the third operating system, an input operation will be generated on the display screen of the first operating system. The first operating system receives the input operation on the display screen through monitoring. When the input operation is a sharing operation for a third application list, a third target request is generated to request the third operating system to share the application.

[0131] It's understandable that when a user of the first operating system requests to share applications from the second and third operating systems, the user will perform sharing operations sequentially in both the second and third application lists. Considering the temporal order of these sharing operations in the two application lists, this order determines which system application's data is displayed first in the first operating system, and which is displayed later. After the later-displayed system application's data is displayed in the first operating system, both the earlier and later-displayed system applications will be simultaneously displayed in the first operating system for user convenience.

[0132] If the first share operation involves sharing an application on a second operating system, and the subsequent share operation involves sharing an application on a third operating system, then the first share operation should be performed according to the specified order. Figures 2-4 The illustrated scheme enables the sharing of applications from the second operating system within the first operating system. Then, according to... Figure 5 The technical solution shown enables the sharing of applications on a third operating system within a first operating system. The reverse is also possible.

[0133] Regardless of the order in which the sharing operations occur, when the first operating system enables application sharing with the second and third operating systems, from the user's perspective, the user can view or appreciate the application data of two different applications that would otherwise be running on other operating systems, thus facilitating use.

[0134] S502: Transmit the third target request to the third operating system;

[0135] In this embodiment of the application, the first operating system may use the Socket connection established with the third operating system to transmit a third target request generated by itself for requesting to share the third operating system's application to the third operating system.

[0136] The third operating system receives a third target request from the first operating system via a Socket connection. Responding to the third target request, it parses the request to determine what kind of application the first operating system expects it to share (to be shared). It then launches the parsed (third) application to be shared, and its virtual screen displays the application data of the third application to be shared. In other words, the application data of the third application to be shared is the data displayed on the third operating system's virtual screen when it responds to the third target request. Through the Socket connection, the third operating system transmits the application data of the (third) application to be shared to the first operating system.

[0137] S503: Obtain application data of the third application to be shared, generated by the third operating system in response to the request of the third target.

[0138] In this step, the first operating system receives application data from the third shared application from the third operating system via a Socket transmission established with the third operating system.

[0139] S504: Display the application data of the third application to be shared in the first operating system.

[0140] The application data of the third application to be shared, received by the first operating system, is displayed on the screen of the first operating system to facilitate the use of the application data of the third operating system by the users of the first operating system.

[0141] The first operating system can have two or more displays. One display shows application data shared from the second operating system. Another display shows application data shared from the third operating system. Alternatively, the same display can be used for split-screen display. The first split-screen area of ​​the same display can show application data shared from the second operating system. The second split-screen area of ​​the same display can show application data shared from the third operating system.

[0142] For the operating systems corresponding to a hardware domain in different dies, the schemes shown in S201-S204 and S501-S504 are used to realize the sharing of applications of the same operating system to two other different operating systems, that is, to realize the access of the same operating system to two other different operating systems.

[0143] In theory, the technical solution of this application also includes access by the same operating system to applications on three, four, or five other different operating systems. The specific implementation is similar to the solutions shown in S201-S204 and S501-S504, which are understood and will not be described in detail here.

[0144] Theoretically, the solutions shown in S501 to S504 are schemes for sharing applications of a third operating system within a first operating system. Furthermore, the technical solution of this application also includes a scheme for sharing applications of a first operating system within a third operating system. For details, please refer to the process of sharing applications of a second operating system with a first operating system. Figure 4 The content shown is similar, and the similarities will not be repeated.

[0145] Based on the aforementioned application sharing scheme across operating systems located in different dies, the user experience can be greatly improved, and the usability of applications in each operating system can be enhanced.

[0146] In some embodiments, the application sharing method in this application further includes: obtaining a fourth target request from a third operating system requesting a first operating system to share applications; responding to the fourth target request to obtain application data of a fourth application to be shared from the third operating system to the first operating system; and transmitting the application data of the fourth application to be shared to the third operating system for display by the third operating system.

[0147] The fourth application to be shared can be an application that exists in the first operating system but not in the third operating system. The fourth target request is a request from the third operating system to the first operating system for application sharing. The executing entity of the aforementioned scheme is the first operating system. The aforementioned scheme is a scheme for the third operating system to request the first operating system to share applications. The specific implementation of this scheme is similar to the scheme for the second operating system to request the first operating system to share applications, and the similarities will not be elaborated upon.

[0148] It should be noted that, for the sake of brevity, some implementation details of the S501-S504 schemes and the scheme where the third operating system requests application sharing from the first operating system, which have not yet been described, can be found in the aforementioned section. Figures 2-4 The details in the relevant descriptions are similar and will not be repeated here.

[0149] The following is combined with Figures 6-9 The technical solution of this application will be further explained.

[0150] For the target chip, at the physical layer, an inter-die transmission mechanism based on the high-speed serial computer extended bus standard (PCIE, Peripheral Component Interconnect Express) is constructed.

[0151] It is understandable that to achieve the technical solution of this application, improvements are needed in several aspects, including the transport layer, system layer, and application layer within the target chip. Among these,

[0152] Transport layer: Constructs the TCP protocol stack so that related information (such as...) can be processed at the physical layer using the TCP protocol. Figure 6 The transmission of communication information between netdev and HPL. Operating systems corresponding to hardware domains in different dies that require communication can use the same Internet Protocol (IP) address range for communication transmission. For example, in the embodiments of this application, the first operating system and the second operating system use the same IP address range during communication. Thus, the same IP address range can be reused in different dies of the target chip, which facilitates die communication and saves IP address resources.

[0153] System layer: Within the operating system, virtual screens and virtual nodes, such as virtual camera nodes, are constructed. In different dies, the second operating system can transfer virtual screen data (e.g., application data of the first or second application to be shared) to the virtual nodes of the first operating system that have application sharing requirements, so that the application data of the application to be shared can be cached on the virtual nodes of the first operating system.

[0154] Application Layer: Constructs the application layer's communication protocols (such as the transport protocols used in Socket connections). It utilizes these protocols to transmit application information (identifiers for the first or second application), application launch commands (such as first target requests and second target requests), and operation data (such as update operation information).

[0155] Figure 6 This is a schematic diagram illustrating the interaction between two dies in an embodiment of this application. SSA and SSB represent two different dies within the target chip. AP 1, AP 2, and Safety 1 are three (hardware / software) combinations within the SSA. Each combination includes a hardware domain of the SSA and an operating system corresponding to that hardware domain. AP 3, AP 4, and Safety 2 are three (hardware / software) combinations within the SSB. Each combination includes a hardware domain of the SSB and an operating system corresponding to that hardware domain. Compared to AP 1, AP 2, AP 3, and AP 4, Safety 1 and Safety 2 are security domain devices in different dies, used to perform tasks within the target chip that have high security requirements.

[0156] The operating system corresponding to any hardware domain within an SSA can share applications with the operating system corresponding to any hardware domain within an SSB. Assume Android system A runs on AP1 of the SSA, Android system B runs on AP3 of the SSB, and Android system C runs on AP4 of the SSB. Android systems A and B can install different applications. Android systems A and C can install different applications. Android systems A and B can share applications. Alternatively, Android systems A and C can share applications. Or, if the display is multi-screen or split-screen, Android system A can share applications with both Android systems B and C simultaneously. Thus, a user of Android system A can see shared data from Android system B and shared data from Android system C on the display.

[0157] Figure 7 This diagram illustrates the interaction between the first and second operating systems at the application and system layers in embodiments of this application. During execution... Figure 3 In the illustrated scheme, the first operating system (Android A) and the second operating system (Android B) will interact. If a user on the first operating system no longer wants to watch short video content 1, they will perform an update operation on the display screen. Upon detecting this update operation, it is treated as a touch operation. At the application level, the touch operation information is sent to the second operating system via a Socket connection. The second operating system receives the touch operation information and analyzes which content the user on the first operating system wants to update from content 1 to. If they want to update to content 2, the short video application (such as...) will... Figure 7 Content 2 of application 1) is displayed on the virtual screen of the second operating system. Content 2 displayed on the virtual screen is transmitted from the second operating system to the virtual camera node of the first operating system and cached through the system layers of both operating systems. The first operating system reads the data cached on the virtual camera node through the V4L2 architecture, uses the read data as projection data, and projects it onto the display screen. This achieves the updated display of application data shared by the first operating system from the second operating system.

[0158] Figure 8 This is a schematic diagram of the interaction between the first operating system and the second operating system in the embodiments of this application. Figure 1 .like Figure 8As shown, taking Android A as the first operating system and Android B as the second operating system as the second, when both systems are running, through the Socket connection between Android A and Android B, Android A transmits its application information, such as application name and icon, to Android B. Android B transmits its application information to Android A. In this way, Android A and Android B record the identifiers of their respective applications and each other's applications in their respective first application list and second application list. The first application list records the application identifiers of its own applications, and the second application list records the application identifiers of the other's applications.

[0159] If Android A has a sharing operation from a user wanting to share application 1 with Android B, a first target request based on this sharing operation will be sent to Android B. Android B responds to the first target request, launches application 1, and displays its application data on Android B's virtual screen. Application 1's application data is then transferred to Android A's virtual camera node. Android A launches a projection interface for application 1's application data, reads the data from the virtual camera node via the V4L2 architecture, and displays the read data on Android A's projection interface. This achieves the sharing of an application from Android B to Android A.

[0160] Furthermore, if Android B has a sharing operation from a user wanting to share application 2 from Android A, a second target request based on the sharing operation will be sent to Android A. Android A responds to the second target request, launches application 2, and displays the application data of application 2 on Android A's virtual screen. The application data of application 2 is then transmitted to the virtual camera node of Android B. Android B launches a projection interface for the application data of application 2, reads the data from the virtual camera node through the V4L2 architecture, and displays the read data on the projection interface of Android B's display. This achieves the sharing of applications from Android A to Android B. In this way, for operating systems corresponding to a hardware domain in different dies, the sharing of applications between operating systems is achieved, enabling operating systems to access each other.

[0161] Figure 9 This is a schematic diagram of the interaction between the first operating system and the second operating system in the embodiments of this application. Figure 2 .exist Figure 9 Taking Android A as the first operating system and Android B as the second operating system as an example, when both systems are running, they obtain their respective local application lists. These local application lists record the identifiers of the applications each system possesses. Through a Socket connection established between the operating systems, they obtain the identifiers of the other operating system's applications and record these identifiers in the shared application list. The desktop engines of both operating systems display the local application lists and the shared application lists, showing the identifiers of their own applications and the other's applications on the screen. Android A and Android B monitor for sharing operations. If no sharing operation is detected, they launch their own applications. If a sharing operation is detected, Android A generates a first target request and sends it to Android B. Android B responds to the first target request, launches the application to be shared, displays the application data of the application to be shared on the virtual screen, and transmits the application data to Android A's virtual camera node. Android A launches the projection interface, reads the data from the virtual camera node through the V4L2 architecture, and displays the read data on the projection interface of Android A's screen.

[0162] If Android B detects a sharing operation, it generates a second target request and sends it to Android A. Android A responds to the second target request, launches the application to be shared, displays the application data on the virtual screen, and transfers the application data to Android B's virtual camera node. Android B launches its projection interface, reads the data from the virtual camera node using the V4L2 architecture, and displays the read data on Android B's projection interface.

[0163] In this technical solution, each operating system in a cross-die operating system has its own applications. Application sharing can be achieved between operating systems through screen mirroring. Superficially, application sharing between operating systems makes applications on two Android systems appear to run on a single Android system. However, in reality, the system resources used by the applications on the two Android systems are running on two separate systems within the two dies. This operating method is smoother than running all applications on the same Android system.

[0164] In this embodiment, a target chip designed using chiplet technology can be applied to a driving device. The driving device includes at least one of private transportation vehicles and public transportation vehicles. Private transportation vehicles include, but are not limited to, self-balancing scooters, electric motorcycles, private cars, and private airplanes. Public transportation vehicles include, but are not limited to, buses, trains, subways, high-speed trains, and airplanes.

[0165] Taking the application of the target chip in a private car as an example, one of the first operating system and the second operating system is the vehicle's instrument panel system, and the other system is the vehicle's central control system. Through the aforementioned solution, the instrument panel system can access applications in the central control system, and the display screen set up for the instrument panel system can display the application data running by the applications in the central control system. If the two display screens for the central control system and the instrument panel system are located in different positions in the vehicle, such as one in the driver's seat and the other in the seat behind the driver, then the technical solution of this application can realize the display of application data of the same application in the instrument panel system or the central control system on different display screens, thereby enabling the sharing of the same application between passengers located in different seats.

[0166] From an application perspective, using the technical solution of this application, a driver in the driver's seat can share a song or video they find appealing with passengers in the rear seats. Alternatively, information such as remaining fuel, remaining battery power, and remaining battery warnings displayed on the instrument panel can be shared with rear passengers. Therefore, when applied to vehicles, this technical solution allows application data from applications originally running on the central control system to be displayed on the instrument panel, and / or vice versa, enhancing entertainment and practicality and significantly improving the vehicle travel experience.

[0167] This application provides an application sharing device applied to a target chip. The target chip includes M wafers, where M is an integer greater than or equal to 2. Each wafer includes at least two hardware domains, and each hardware domain of each wafer corresponds to an operating system. Figure 10 As shown, the device includes:

[0168] The first obtaining unit 1001 is used to obtain a first target request from the first operating system requesting the second operating system to share applications; wherein, the first operating system is the operating system corresponding to a hardware domain included in the first die, and the second operating system is the operating system corresponding to a hardware domain included in the second die; the first die is one of M dies, and the second die is the other dies among the M dies excluding the first die; the first operating system can run a first application, and the second operating system can run a second application, and the first application and the second application are different; the first target request is used by the first operating system to request the second operating system to share the second application;

[0169] The first transmission unit 1002 is used to transmit the first target request to the second operating system;

[0170] The second obtaining unit 1003 is used to obtain application data of the first application to be shared generated by the second operating system in response to the first target request;

[0171] Display unit 1004 is used to display application data of the first application to be shared in the first operating system.

[0172] In some embodiments, the second obtaining unit 1003 is used for

[0173] The application data of the first application to be shared is transmitted to the virtual node of the first operating system for caching;

[0174] Retrieve data cached in the virtual node of the first operating system;

[0175] The application data of the first application to be shared is the data displayed on the virtual screen of the second operating system when the second operating system responds to the first target request.

[0176] In some embodiments, the first operating system includes a display screen, and when the application data of the first application to be shared is displayed on the display screen of the first operating system as the first application data,

[0177] The device further includes:

[0178] The third obtaining unit is used to obtain the update operation for the first application data and send the operation information of the update operation to the second operating system;

[0179] The fourth obtaining unit is used to obtain the second application data of the first application to be shared from the second operating system; the second application data is the updated data generated by the second operating system on the virtual screen of the second operating system based on the operation information;

[0180] Display unit 1004 is used to display the second application data of the first application to be shared on the display screen.

[0181] In some embodiments, the display screen of the first operating system displays a first application list and / or a second application list; wherein the first application list includes the identifier of a first application, and the second application list includes the identifier of a second application; the first operating system obtains the identifier of the second application through a communication connection established with the second operating system;

[0182] The first obtaining unit 1001 is configured to obtain an input operation for the display screen; when the input operation is a sharing operation for the second application list, it generates a first target request for requesting the second operating system to share the application.

[0183] In some embodiments, application data of the first application to be shared is obtained by means of the V4L2 architecture and cached in the virtual node of the first operating system; the display unit 1004 is used to display the application data in the display interface of the display screen of the first operating system, so as to display the application data of the first application to be shared in the first operating system.

[0184] In some embodiments, the Internet Protocol (IP) addresses used by the first operating system and the second operating system during communication have the same address range.

[0185] In some embodiments, one of the first operating system and the second operating system is the vehicle's instrument system, and the other system is the vehicle's central control system.

[0186] In some embodiments, the apparatus further includes:

[0187] The first acquisition unit is used to acquire a second target request from the second operating system to the first operating system for application sharing.

[0188] The first response unit is used to respond to the second target request and obtain the application data of the second application to be shared by the second operating system, which requests the first operating system to share the application.

[0189] The second transmission unit is used to transmit the application data of the second application to be shared to the second operating system for display by the second operating system.

[0190] In some embodiments, the apparatus further includes:

[0191] The second acquisition unit is used to acquire a third target request from the first operating system to the third operating system for application sharing; wherein, the third operating system is a system other than the second operating system in the second die, or an operating system corresponding to a hardware domain included in the third die; the third die is any of the M dies other than the first die and the second die; the third application that the third operating system can run is different from the second application that the first operating system can run; the third target request is used by the first operating system to request the third operating system to share the third application;

[0192] The third transmission unit is used to transmit the third target request to the third operating system;

[0193] The third acquisition unit is used to acquire application data of the third application to be shared, generated by the third operating system in response to the request of the third target.

[0194] Display unit 1004 is used to display application data of a third application to be shared in the first operating system.

[0195] In some embodiments, the apparatus further includes:

[0196] The fourth acquisition unit is used to acquire the fourth target request from the third operating system to the first operating system for application sharing;

[0197] The second response unit is used to respond to the fourth target request and obtain the application data of the fourth application to be shared by the third operating system and the first operating system;

[0198] The fourth transmission unit is used to transmit the application data of the fourth application to be shared to the third operating system for display by the third operating system.

[0199] It should be noted that the application sharing device in this application embodiment solves the problem in a similar way to the aforementioned application sharing method. Therefore, the implementation process and implementation principle of the application sharing device can be found in the description of the implementation process and implementation principle of the aforementioned method, and the repeated parts will not be repeated.

[0200] According to an embodiment of this application, this application provides a chip, which may be the aforementioned target chip, including the aforementioned application sharing device.

[0201] According to embodiments of this application, this application also provides an electronic device and a readable storage medium.

[0202] The electronic device includes at least one processor and a memory communicatively connected to the at least one processor. The memory stores instructions executable by the at least one processor, which, when executed, enable the at least one processor to perform the application sharing method described in this application. The computer instructions are used to cause the computer to perform the application sharing method described in this application.

[0203] Figure 11 A schematic block diagram of an example electronic device 800 that can be used to implement embodiments of this application is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the application described and / or claimed herein.

[0204] like Figure 11 As shown, device 800 includes a computing unit 801, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 802 or a computer program loaded from storage unit 808 into random access memory (RAM) 803. RAM 803 may also store various programs and data required for the operation of device 800. The computing unit 801, ROM 802, and RAM 803 are interconnected via bus 804. Input / output (I / O) interface 805 is also connected to bus 804.

[0205] Multiple components in device 800 are connected to I / O interface 805, including: input unit 806, such as keyboard, mouse, etc.; output unit 807, such as various types of monitors, speakers, etc.; storage unit 808, such as disk, optical disk, etc.; and communication unit 809, such as network card, modem, wireless transceiver, etc. Communication unit 809 allows device 800 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0206] The computing unit 801 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 801 performs the various methods and processes described above, such as the application sharing method. For example, in some embodiments, the application sharing method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed on device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by the computing unit 801, one or more steps of the application sharing method described above may be performed. Alternatively, in other embodiments, the computing unit 801 may be configured to perform the application sharing method by any other suitable means (e.g., by means of firmware).

[0207] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0208] The program code used to implement the methods of this application may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing device, such that when executed by the processor or controller, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0209] In the context of this application, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0210] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0211] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.

[0212] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.

[0213] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. An application sharing method, characterized in that, The method is applied to a target chip, which comprises M wafers (Dies), where M is an integer greater than or equal to 2; each die includes at least two hardware domains, and each hardware domain of each die corresponds to an operating system; the method includes: A first target request is obtained from a first operating system requesting a second operating system to share an application; wherein, the first operating system is the operating system corresponding to a hardware domain included in a first die, and the second operating system is the operating system corresponding to a hardware domain included in a second die; the first die is one of M dies, and the second die is the other M dies excluding the first die; the first operating system is capable of running a first application, and the second operating system is capable of running a second application, and the first application and the second application are different; the first target request is used by the first operating system to request the second operating system to share the second application; The first target request is transmitted to the second operating system; Obtain application data of the first application to be shared, generated by the second operating system in response to the request from the first target; Display the application data of the first application to be shared in the first operating system.

2. The method according to claim 1, characterized in that, The process of obtaining application data of the first application to be shared, generated by the second operating system in response to the first target request, includes: The application data of the first application to be shared is transmitted to the virtual node of the first operating system for caching; Retrieve data cached in the virtual node of the first operating system; The application data of the first application to be shared is the data displayed on the virtual screen of the second operating system when the second operating system responds to the first target request.

3. The method according to claim 1, characterized in that, The first operating system includes a display screen. When the application data of the first application to be shared is displayed on the display screen of the first operating system, Obtain the update operation for the first application data, and send the operation information of the update operation to the second operating system; Obtain the second application data of the first application to be shared from the second operating system; The second application data is the updated data generated by the second operating system on the virtual screen of the second operating system based on the operation information; The second application data of the first application to be shared is displayed on the screen.

4. The method according to claim 1 or 2, characterized in that, Also includes: The first operating system's display screen shows a first application list and / or a second application list; wherein the first application list includes the identifier of the first application, and the second application list includes the identifier of the second application; the first operating system obtains the identifier of the second application through a communication connection established with the second operating system; The first target request obtained by the first operating system to request the second operating system to share applications includes: Obtain input operations for the display screen; When the input operation is a sharing operation for the second application list, a first target request is generated to request the second operating system to share the application.

5. The method according to claim 2, characterized in that, Also includes: The application data of the first application to be shared is obtained by using the V4L2 architecture and cached in the virtual node of the first operating system. The application data is then displayed on the display screen of the first operating system to display the application data of the first application to be shared in the first operating system.

6. The method according to any one of claims 1 to 5, characterized in that, The first operating system and the second operating system use the same Internet Protocol (IP) address range during communication.

7. The method according to any one of claims 1 to 5, characterized in that, One of the first operating system and the second operating system is the vehicle's instrument system, and the other system is the vehicle's central control system.

8. The method according to any one of claims 1 to 5, characterized in that, Also includes: Obtain a second target request from the second operating system to request application sharing from the first operating system; In response to the second target request, obtain the application data of the second application to be shared by the second operating system, which requests the first operating system to share the data. The application data of the second application to be shared is transmitted to the second operating system for display by the second operating system.

9. The method according to claim 1, characterized in that, Also includes: A third target request is obtained from a first operating system requesting a third operating system to share applications; wherein, the third operating system is a system other than the second operating system in the second die, or an operating system corresponding to a hardware domain included in the third die; the third die is any of the M dies other than the first die and the second die; the third application that the third operating system can run is different from the second application that the first operating system can run; the third target request is used by the first operating system to request the third operating system to share the third application; Transmit the third target request to the third operating system; Obtain application data of a third application to be shared, generated by a third operating system in response to a request from a third target; Display the application data of the third application to be shared in the first operating system.

10. The method according to claim 9, characterized in that, Also includes: Obtain a fourth target request from the third operating system to request application sharing from the first operating system; In response to the fourth target request, the application data of the fourth application to be shared, which the third operating system requested the first operating system to share, is obtained. The application data of the fourth application to be shared is transferred to the third operating system for display by the third operating system.

11. An application sharing device, characterized in that, The device is applied to a target chip, which comprises M wafers, where M is an integer greater than or equal to 2; each wafer comprises at least two hardware domains, and each hardware domain of each wafer corresponds to an operating system; the device comprises: The first obtaining unit is configured to obtain a first target request from the first operating system requesting the second operating system to share applications; wherein, the first operating system is the operating system corresponding to a hardware domain included in the first die, and the second operating system is the operating system corresponding to a hardware domain included in the second die; the first die is one of M dies, and the second die is the other dies among the M dies excluding the first die; the first operating system is capable of running a first application, and the second operating system is capable of running a second application, and the first application and the second application are different; the first target request is used by the first operating system to request the second operating system to share the second application; The transmission unit is used to transmit the first target request to the second operating system; The second obtaining unit is used to obtain application data of the first application to be shared generated by the second operating system in response to the first target request; The display unit is used to display the application data of the first application to be shared in the first operating system.

12. A chip, characterized in that, Includes the apparatus described in claim 11.

13. An electronic device, characterized in that, The electronic device includes: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, which, when executed by the at least one processor, enables the at least one processor to perform the method of any one of claims 1-10.

14. A non-transitory computer-readable storage medium storing computer instructions, characterized in that, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-10.

Citation Information

Patent Citations

  • Data storage method and device

    CN115185880A

  • System on chip, vehicle and video processing unit virtualization method

    CN115904761A