CN117520016A - Application sharing method, device, chip, electronic equipment and storage medium - Google Patents

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

Info

Publication number
CN117520016A
CN117520016A CN202311554387.0A CN202311554387A CN117520016A CN 117520016 A CN117520016 A CN 117520016A CN 202311554387 A CN202311554387 A CN 202311554387A CN 117520016 A CN117520016 A CN 117520016A
Authority
CN
China
Prior art keywords
operating system
application
die
shared
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311554387.0A
Other languages
Chinese (zh)
Inventor
夏少均
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xinchi Semiconductor Technology Co ltd
Original Assignee
Beijing Xinchi Semiconductor Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Xinchi Semiconductor Technology Co ltd filed Critical Beijing Xinchi Semiconductor Technology Co ltd
Priority to CN202311554387.0A priority Critical patent/CN117520016A/en
Publication of CN117520016A publication Critical patent/CN117520016A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Abstract

The application discloses an application sharing method, an application sharing device, a chip, electronic equipment and a storage medium, wherein the method comprises the following steps: acquiring a first target request of a first operating system for requesting a second operating system to perform application sharing; the first operating system is an operating system corresponding to a hardware domain included in the first Die, and the second operating system is an operating system corresponding to a hardware domain included in the second Die; the first Die is one Die of M Die, and the second Die is other Die except the first Die; the first operating system can run a first application, the second operating system can run a second application, and the first application and the second application are different; transmitting the first target request to a second operating system; obtaining application data of a first application to be shared generated by a second operating system aiming at a first target request; and displaying the application data of the first application to be shared in the first operating system.

Description

Application sharing method, device, chip, electronic equipment and storage medium
Technical Field
The present disclosure relates to the field of application sharing technologies, and in particular, to an application sharing device, a chip, an electronic device, and a storage medium.
Background
In the semiconductor field, chiplet refers to a chip modularization technology. It breaks a large integrated circuit into multiple small chips, which are then integrated in the same package for more efficient design, manufacturing, and flexibility. The split small chips can be freely combined according to the requirements to construct a custom chip meeting specific requirements so as to meet actual requirements.
In practical applications, chips designed using chiplet technology may be considered as system chips, each of which may include a Die, which may be a wafer (Die) chip. In the case of designing each Die to include two or more hardware domains, where each hardware domain corresponds to an operating system, how to access between any two or more Die in the system chip and the operating systems on the Die becomes a technical problem to be solved.
Disclosure of Invention
The application provides an application sharing and device, a chip, an electronic device and a storage medium, so as to at least solve the technical problems in the prior art.
According to a first aspect of the present application, an application sharing method is provided and applied to a target chip, where the target chip includes M wafers Die, where M is an integer greater than or equal to 2; each Die comprises at least two hardware domains, and each hardware domain of each Die corresponds to an operating system; the method comprises the following steps:
Acquiring a first target request of a first operating system for requesting a second operating system to perform application sharing; the first operating system is an operating system corresponding to a hardware domain included in the first Die, and the second operating system is an operating system corresponding to a hardware domain included in the second Die; the first Die is one Die of M Die, and the second Die is other Die except the first Die; the first operating system can run a first application, 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 for a first operating system to request a second operating system to share a second application;
transmitting the first target request to a second operating system;
obtaining application data of a first application to be shared generated by a second operating system aiming at a first target request;
and displaying the application data of the first application to be shared in the first operating system.
In an embodiment, the obtaining the application data of the first application to be shared generated by the second operating system for the first target request includes:
the application data of the first application to be shared is transmitted to a virtual node of the first operating system for caching;
Acquiring data cached in a virtual node of the first operating system;
the application data of the first application to be shared is data displayed by a virtual screen of the second operating system when the second operating system responds to the first target request.
In one embodiment, the first operating system includes a display screen, and in the case that 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,
acquiring updating operation aiming at the first application data, and sending operation information of the updating operation to the second operating system;
obtaining second application data of the first application to be shared from the second operating system; the second application data is update data generated by the second operating system on a virtual screen of the second operating system based on the operation information;
and displaying second application data of the first application to be shared on the display screen.
In an implementation manner, a display screen of the first operating system displays a first application list and/or a second application list; the first application list comprises an identifier of a first application, and the second application list comprises an identifier of a second application; the first operating system obtains the identifier of the second application through communication connection established with the second operating system;
The obtaining a first target request that the first operating system requests the second operating system to perform application sharing includes:
obtaining input operation for the display screen;
when the input operation is a sharing operation for the second application list, a first target request for requesting application sharing by a second operating system is generated.
In an embodiment, the method further comprises:
and obtaining application data of the first application to be shared cached in the virtual node of the first operating system through the V4L2 architecture, and displaying the application data in a display interface of a 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.
In one embodiment, the internet protocol IP addresses used by the first operating system and the second operating system in the communication process have the same address field.
In one embodiment, one of the first operating system and the second operating system is an instrument system of a vehicle, and the other system other than the one system is a central control system of the vehicle.
In an embodiment, the method further comprises:
Obtaining a second target request of a second operating system for requesting the first operating system to perform application sharing;
responding to the second target request, and obtaining application data of a second application to be shared, which is requested to be shared by the first operating system by the second operating system;
and transmitting the application data of the second application to be shared to the second operating system so as to display the application data of the second application to be shared by the second operating system.
In an embodiment, the method further comprises:
obtaining a third target request of the first operating system for requesting a third operating system to perform application sharing; the third operating system is a system except 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 other Die except the first Die and the second Die in the M Die; the third application that the third operating system is capable of running is different from the second application that the first operating system is capable of running; the third target request is used for the first operating system to request a third operating system to share a third application;
transmitting a third target request to a third operating system;
obtaining application data of a third application to be shared generated by a third operating system aiming at a third target request;
And displaying application data of the third application to be shared in the first operating system.
In an embodiment, the method further comprises:
obtaining a fourth target request of the third operating system for requesting the first operating system to perform application sharing;
responding to the fourth target request, and obtaining application data of a fourth application to be shared, which is requested to be shared by the first operating system by the third operating system;
and transmitting the application data of the fourth application to be shared to the third operating system so as to display the application data of the fourth application to be shared by the third operating system.
According to a second aspect of the present application, there is provided an application sharing apparatus applied to a target chip, where the target chip includes M wafers Die, where M is an integer greater than or equal to 2; each Die comprises at least two hardware domains, and each hardware domain of each Die corresponds to an operating system; the device comprises:
the first obtaining unit is used for obtaining a first target request of the first operating system for requesting the second operating system to perform application sharing; the first operating system is an operating system corresponding to a hardware domain included in the first Die, and the second operating system is an operating system corresponding to a hardware domain included in the second Die; the first Die is one Die of M Die, and the second Die is other Die except the first Die; the first operating system can run a first application, 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 for a first operating system to request a second operating system to share a second application;
The transmission unit is used for transmitting the first target request to the second operating system;
a second obtaining unit, configured to obtain application data of a first application to be shared generated by a second operating system for the first target request;
and the display unit is used for displaying the application data of the first application to be shared in the first operating system.
According to a third aspect of the present application, a chip is provided, comprising the aforementioned application sharing device.
According to a fourth aspect of the present application, there is provided an electronic device comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the methods described herein.
According to a fifth aspect of the present application, there is provided a non-transitory computer readable storage medium storing computer instructions for causing the computer to perform the method described herein.
In the application, for the operating systems corresponding to one hardware domain in different Dies, the access of one operating system to the other operating system is realized through the sharing of the application of the one operating system to the other operating system. Thus, a technical support is provided for the access between the operating systems on any two or more Die chips in the target chip.
It should be understood that the description of this section is not intended to identify key or critical features of the embodiments of the application or to delineate the scope of the application. Other features of the present application will become apparent from the description that follows.
Drawings
The above, as well as additional purposes, features, and advantages of exemplary embodiments of the present application will become readily apparent from the following detailed description when read in conjunction with the accompanying drawings. Several embodiments of the present application are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings, in which:
in the drawings, the same or corresponding reference numerals indicate the same or corresponding parts.
FIG. 1 shows a schematic diagram of the structure of a multi-core heterogeneous chip in an embodiment of the present application;
FIG. 2 is a schematic diagram of an implementation flow of an application sharing method in an embodiment of the present application;
fig. 3 shows a second implementation flow diagram of the application sharing method in the embodiment of the present application;
fig. 4 shows a third implementation flow diagram of the application sharing method in the embodiment of the present application;
fig. 5 shows a fourth implementation flow diagram of an application sharing method in the embodiment of the present application;
FIG. 6 is a schematic diagram of interaction between two Die in an embodiment of the present application;
FIG. 7 is an interaction schematic diagram of a first operating system and a second operating system at an application layer and a system layer in an embodiment of the present application;
FIG. 8 is a schematic diagram illustrating interaction between a first operating system and a second operating system in an embodiment of the present application;
FIG. 9 is a second schematic interaction diagram of the first operating system and the second operating system in the embodiment of the present application;
fig. 10 is a schematic diagram of a composition structure of an application sharing device in an embodiment of the present application;
fig. 11 shows a schematic diagram of the composition structure of an electronic device in an embodiment of the present application.
Detailed Description
In order to make the objects, features and advantages of the present application more obvious and understandable, the technical solutions of the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is apparent that the described embodiments are only some embodiments of the present application, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments herein without making any inventive effort, are intended to be within the scope of the present application.
For the purpose of making the objects, technical solutions and advantages of the present application more apparent, the present application will be described in further detail with reference to the accompanying drawings, and the described embodiments should not be construed as limiting the present application, and all other embodiments obtained by those skilled in the art without making any inventive effort are within the scope of the present application.
In the following description, reference is made to "some embodiments" which describe a subset of all possible embodiments, but it is to be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments and can be combined with one another without conflict.
In the following description, the terms "first", "second", and the like are merely used to distinguish between similar objects and do not represent a particular ordering of the objects, it being understood that the "first", "second", or the like may be interchanged with a particular order or precedence, as permitted, to enable embodiments of the present application described herein to be implemented in an order other than that illustrated or described herein.
Unless defined otherwise, 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 the present application only and is not intended to be limiting of the present application.
It should be understood that, in various embodiments of the present application, the size of the sequence number of each implementation process does not mean that the execution sequence 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 the present application.
The target chip referred to in the present application is a system chip designed by using chiplet technology. Each Die in the system chip is a multi-core heterogeneous chip. The multi-core heterogeneous chip refers to a chip integrated with different architecture processor cores in a single chip. Each processor core in the multi-core heterogeneous chip can be used as an independent processor, and can independently run instructions required to be run by each processor core, so that tasks required to be realized by each processor core are realized. It can be understood that, as a chip with a multi-core processor, the multi-core heterogeneous chip can accelerate the running speed and improve the multi-task execution capability compared with a single-core processor chip by independently running each core task, thereby bringing about the advantage of high performance. And the multi-core processor is arranged on the same chip, so that the cost is low.
As shown in fig. 1, the multi-core heterogeneous chip includes a plurality of processor cores of different architectures, where the plurality of processor cores includes a first processor core, a second processor core … nth processor core. N is a positive integer of 2 or more, and is flexibly set according to practical situations. Each processor core is referred to as a compute engine, which may be of different types and/or numbers, among the plurality of processor cores. Among these, the types of processor cores include cores that are computationally intensive and cores that are real-time (fast to compute). The difference in the types and/or numbers of processor cores may, to some extent, enable architectural differences between processor cores.
Illustratively, since the embedded processor (ARM) has advantages of low cost and low power consumption, the Digital Signal Processor (DSP) has advantages of digital dedicated processing, and the programmable logic array (FPGA) has advantages of high-speed processing, each type of processor is used as a processor core, and if designed on the same SOC chip, a multi-core heterogeneous SOC chip can be obtained.
Hardware resources, such as clock controllers, interrupt controllers, memory spaces, etc., that each processor core is coupled to each processor core constitute each hardware domain. The multi-core heterogeneous chip includes two or more hardware domains, i.e., the Die chip includes two or more hardware domains. In a multi-core heterogeneous chip, each hardware domain is a set of hardware resources. The different hardware domains are isolated from each other, and the isolation can be regarded as physical isolation, as if the hardware in one hardware domain is designed at a similar position of the multi-core heterogeneous chip, and the hardware in the different hardware domain is designed at different positions of the multi-core heterogeneous chip to realize the isolation at the physical position. Of course, the mutual isolation between different hardware domains in the embodiments of the present application is not physical isolation, but rather logical isolation between hardware domains is not used. This logical isolation may be embodied in: the hardware resources in the same hardware domain need to use the same communication identifier, and the hardware resources in different hardware domains use different communication identifiers. The hardware resources in the same hardware domain can be mutually accessed based on the communication identification in the hardware domain.
In practical applications, it is preferable that the isolation between different hardware domains be a logic isolation, so that at least chip space is saved.
In the multi-core heterogeneous chip, an operating system is configured for each hardware domain, for example, a first operating system is configured for a first hardware domain, a second operating system is configured for a second hardware domain, and so on. The operating systems configured for different hardware domains may be the same system, or may be different systems. For example, the first operating system configured for the first hardware domain is a Linux system, and the second operating system configured for the second hardware domain is an android system. The Linux system has the characteristic of high safety, the android system has the characteristic of light fastness, tasks with high safety requirements in the multi-core heterogeneous system can be submitted to Linux to be executed, tasks with light fastness to be operated in the multi-core heterogeneous system are submitted to the android system to be executed, and therefore different operating systems on different hardware domains can be adopted in the multi-core heterogeneous system to realize efficient execution of the tasks.
In the embodiment of the application, communication requirements exist between the hardware domains, and when the communication requirements exist between different hardware domains, the communication between the hardware domains can be realized by adopting an inter-core communication mechanism. The inter-core communication mechanism in the multi-core heterogeneous system comprises a mailbox mechanism suitable for instruction transmission and a memory sharing mechanism suitable for data sharing. Inter-core communication in a single chip integrated with different architecture processor cores can ensure data transmission in the same chip, and ensure data security and transmission rapidity.
In general, there are differences in hardware resources in different hardware domains, and such differences may be represented by differences in hardware types, hardware models, hardware numbers, and so on, and such differences may represent the isomerism of the multi-core isomerism system to a certain extent. From the foregoing, it is clear that multi-core heterogeneous in this application is a concept on the hardware level, independent of the software level.
As shown in fig. 1, the multi-core heterogeneous chip in the embodiment of the present application further includes various types of control units. Types of control units include, but are not limited to: a power supply control unit, a nonvolatile memory control unit, a volatile memory control unit, and the like. The power supply control unit is used for controlling the power supply unit to supply power to the multi-core heterogeneous chip. And the nonvolatile storage control unit is used for controlling at least one processor in the multi-core heterogeneous chip to check the access of the nonvolatile storage unit. And the volatile memory control unit is used for controlling at least one processor in the multi-core heterogeneous chip to check the access of the volatile memory unit.
The power supply unit, the nonvolatile memory unit and the volatile memory unit are used as hardware resources outside the multi-core heterogeneous chip and can be called under the condition that the multi-core heterogeneous chip is needed. In addition, the hardware such as the audio output unit (such as a loudspeaker) and the video output unit (such as a display screen) can be used as hardware resources outside the multi-core heterogeneous chip, and can be called under the condition that the multi-core heterogeneous chip is needed so as to realize the normal output of audio and video.
As can be seen from the foregoing description, in the present application, each Die chip in the target chip designed using the chiplet technology includes two or more hardware domains. Each hardware domain in a single Die corresponds to an operating system. Taking any two Die chips in the target chip as an example, how the operating systems on different Die access is described below.
Fig. 2 shows a schematic implementation flow diagram of an application sharing method in an embodiment of the present application. As shown in fig. 2, the method includes:
s (step) 201: acquiring a first target request of a first operating system for requesting a second operating system to perform application sharing; the first operating system is an operating system corresponding to a hardware domain included in the first Die, and the second operating system is an operating system corresponding to a hardware domain included in the second Die; the first Die is one Die of M Die, and the second Die is other Die except the first Die; the first operating system can run a first application, the second operating system can run a second application, and the first application and the second application are different; the first target request is for a first operating system to request a second operating system to share a second application.
From a coarse-grained perspective, such as the Die chip perspective, the first operating system and the second operating system are systems that reside 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 two different Die chips. For ease of illustration, the description herein is primarily in terms of coarse granularity.
The first and second operating systems may be the same type of operating system, e.g., both android systems or both Linux systems. The first and second operating systems may also be different types of operating systems, such as one being an android system and the other being a Linux system. Preferably, the first and second operating systems are the same type of operating system.
The first operating system and the second operating system have respective applications. The first operating system and the second operating system have applications that are at least partially different. The first operating system requests the second operating system to share to the application of the first operating system (the first application to be shared), which should be an application that the second operating system has but the first operating system does not. Based on this, the meaning of the first operating system request sharing related to the technical scheme of the application is that the first operating system requests sharing of an application that the first operating system does not have in the second operating system.
If the sharing of the application of one operating system to another operating system can be realized, the access of the one operating system to the other operating system is realized, and thus, the access scheme provides a technical support for realizing the communication between different Die chips in the target chip. Aiming at the operating systems corresponding to one hardware domain in different Dies, the technical scheme of the application aims at realizing the access of the application among the operating systems.
The first operating system obtains the identification of the second application through the communication connection established with the second operating system. When the first operating system is started, a display screen of the first operating system can display one of the first application list and the second application list. The first application list includes an identification of the first application. The second application list includes an identification of the second application. The identification of the application may be any identification that indicates the application's uniqueness, such as an application name, an application icon, etc.
Taking the first operating system to display the first application list and the second application list as an example, if a user of the first operating system has an application request which needs to be shared in the first operating system in the second operating system, input operation can be generated on a display screen of the first operating system, and the first operating system obtains the input operation aiming at the display screen in a monitoring mode. When the input operation is a sharing operation for the second application list, a first target request for requesting the second operating system to perform application sharing is generated.
The sharing operation may be an operation such as a single click, double click, swipe, voice, etc. of any reasonable virtual key on the operation interface of the second application list. The sharing operation may also be an operation such as a single click, double click, swipe, voice, etc. of the identity of the application or applications to be shared in the second application list. The application in the second application list is an application that can be executed by the second operating system and is different from the application in the first operating system, so the sharing operation may be an operation of sharing some or part of the applications in the second operating system, or may be an operation of sharing all the applications in the second operating system.
In implementation, the first operating system monitors for the presence of a sharing operation from the user. If the first operating system monitors that there is a sharing operation from the user, the user is deemed to have a need to share an application in the second operating system into the first operating system, a first target request is generated for requesting the second operating system to share its application. The first target request carries an identifier of an application (a first application to be shared) which the first operating system expects the second operating system to share, such as a name of the application, an icon of the application and the like.
S202: the first target request is transmitted to the second operating system.
In practical applications, for operating systems located on two different Die, if normal communication is to be implemented, a communication connection between operating systems located on different Die needs to be established. The communication connection requires hardware support that can function as a communication connection at the hardware level. Supportable hardware includes, but is not limited to: network interface device (netdev, network interface device), hardware interface device HPL. The communication connection requires support of the relevant transport protocol at the software level. Such as transmission control protocol (TCP, transmission Control Protocol). By designing the aforementioned hardware and software protocols, in one embodiment, a specific type of communication connection between two operating systems, such as a Socket transmission connection, may be formed, with the two operating systems being communicatively connected via Socket technology. For convenience of description, this type of communication connection is referred to as a Socket connection.
In this embodiment of the present application, the first operating system may transmit, to the second operating system, a first target request generated by itself and used for requesting to share an application of the second operating system, by using Socket connection established between the first operating system and the second operating system.
The second operating system receives a first target request from the first operating system through Socket connection. And responding to the first target request, analyzing what application the first operating system expects to share (to be shared), starting the analyzed (first) to-be-shared application, and displaying application data of the first to-be-shared application by a virtual screen of the second operating system. That is, the application data of the first application to be shared is data displayed by the virtual screen of the second operating system when the second operating system responds to the first target request. And transmitting the application data of the (first) application to be shared to the first operating system by the second operating system through Socket connection.
The identification of each second application in the second application list is obtained by the first operating system through Socket connection established with the second operating system.
S203: application data of a first application to be shared generated by the second operating system for the first target request is obtained.
In this step, the first operating system receives application data of the first application to be shared from the second operating system through Socket transmission.
S204: and displaying the application data of the first application to be shared in the first operating system.
And displaying the application data of the first application to be shared received by the first operating system in a display screen of the first operating system, so that a user of the first operating system can conveniently use the application data of the second operating system. Therefore, based on the application sharing scheme among the operating systems, the use experience of the user can be greatly improved, and the usability of the application in each operating system is improved.
The execution subject of S201 to S204 is an operating system (for which application sharing is desired) corresponding to any hardware domain among the Die chips included in the target chip. Such as the aforementioned first operating system.
By adopting the technical scheme shown in S201-S204, the access of one operating system to another operating system is realized by sharing the application of the operating system to the other operating system aiming at the operating systems corresponding to one hardware domain in each of different Dies. In this way, in popular terms, the technical scheme shown in S201 to S204 provides a technical support for access between operating systems on any two or more Die in the system chip.
In the embodiment of the application, a virtual node is constructed for a first operating system. The virtual node is configured to cache application data of a first application to be shared from the second operating system. That is, application data of a first application to be shared from the second operating system is transferred and cached to the virtual node of the first operating system. The first operating system acquires, particularly reads, the data cached in the virtual node of the first operating system, so as to display application data of the first application to be shared in a display screen of the first operating system.
Virtual nodes are built in the first operating system in order to adapt to the framework of the V4L2 architecture. The V4L2 architecture is an architecture for processing video that provides a standard set of API interfaces so that application programs or operating systems can conveniently access application data, such as video, of applications to be shared.
In implementation, the first operating system obtains application data of a first application to be shared cached in a virtual node of the first operating system through the V4L2 architecture, so that the application data of the application to be shared can be conveniently accessed. The first operating system displays the application data obtained through the V4L2 architecture on a display interface of a display screen.
As an implementation manner, as shown in fig. 3, the application sharing method in the embodiment of the present application further includes:
s301: and under the condition that 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, acquiring the updating operation aiming at the first application data, and sending the operation information of the updating operation to the second operating system.
Illustratively, taking a first application to be shared displayed on a display screen of the first operating system as a video application, for example, application a, a display interface of application a displays short video content 1. If the user of the first operating system does not want to continue watching the short video content 1, an update operation for the short video is generated on the display interface, and the played short video content is wanted to be updated. For example, sliding along the playing interface of the short video 1 to the lower side of the display interface, and sliding along the playing interface of the short video 1 to the right side of the display interface; or, slide along the playing interface of the short video 1 to the left of the display interface.
The first operating system monitors whether the aforementioned update operation exists. When the update operation is monitored, the operation information of the update operation is sent to the second operation system through Socket connection. The operation information includes, but is not limited to, an operation type of the update operation (the update operation is a sliding type), an operation direction, an operation duration, and the like.
S302: obtaining second application data of the first application to be shared from the second operating system; the second application data is update data generated by the second operating system on a virtual screen of the second operating system based on the operation information.
In this step, taking an example in which the operation information of the update operation includes the type in which the update operation is a slide operation and the operation direction of the slide operation, the second operating system analyzes the operation information of the update operation to determine which content the user of the first operating system wants to update from the content 1. If the direction of the sliding operation is to slide along the playing interface of the short video 1 below the display interface, it wants to update to content 2, and content 2 is displayed on the virtual screen of the second operating system. If the direction of the sliding operation is to slide along the playing interface of the short video 1 to the right of the display interface, it wants to update to content 3, and content 3 is displayed on the virtual screen of the second operating system. If the direction of the sliding operation is to slide along the playing interface of the short video 1 to the left of the display interface, it wants to update to content 4, and content 4 is displayed on the virtual screen of the second operating system. The second operating system takes the content displayed on the virtual screen as update data, and the update data can be used as second application data which is required to be updated by the user. And the second operating system transmits the second application data to the first operating system through Socket connection.
S303: and displaying second application data of the first application to be shared on the display screen.
In this step, in the display interface of the first application to be shared displayed on the display screen of the first operating system, the original display is switched from the display of the content 1 to the display of the content 2, the content 3 or the content 4 that the user wants to view. To enable the update of the display content thereof at the shared end (first operating system side) from the shared application of the second operating system. For the content update of the shared application among the operating systems corresponding to the hardware domains in different Dies, a technical support is provided.
In some embodiments, as shown in fig. 4, the application sharing method in the embodiments of the present application further includes:
s401: a second target request is obtained for the second operating system to request the first operating system for application sharing.
If a user of the second operating system has a need to use an application that the second operating system does not have in the first operating system, it may generate a sharing operation on the operating interface presented by the second operating system. For an understanding of this sharing operation, reference is made to the foregoing description and will not be repeated.
The second operating system monitors whether there is a sharing operation from the user. If the second operating system monitors that there is a sharing operation from the user, the user is deemed to have a need to share applications in the first operating system to the second operating system, a second target request is generated for requesting the first operating system to share its applications. The second target request carries an identifier of an application (a second application to be shared) which the second operating system expects the first operating system to share, such as a name of the application, an icon of the application, and the like.
The second operating system can utilize Socket transmission established between the second operating system and the first operating system to transmit a second target request which is generated by the second operating system and used for requesting to share the application of the first operating system to the first operating system. The first operating system obtains a second target request by receiving the second target request from the second operating system.
S402: and responding to the second target request, and obtaining application data of a second application to be shared, which is requested to be shared by the first operating system by the second operating system.
In this step, the first operating system responds to the second target request, analyzes what the second operating system expects its shared (to-be-shared) application is, and starts the analyzed (second) to-be-shared application to obtain application data of the (second) to-be-shared application.
S403: and transmitting the application data of the second application to be shared to the second operating system so as to display the application data of the second application to be shared by the second operating system.
In this step, the first operating system transmits the application data of the (second) application to be shared to the second operating system through Socket transmission.
The execution subject of S401 to S403 is an operating system (for which application sharing is desired) corresponding to any hardware domain among the Die chips included in the target chip. Such as the aforementioned first operating system.
By adopting the technical scheme shown in S401-S403, the access of another operating system to one operating system is realized by sharing the application of the other operating system to the one operating system aiming at the operating systems corresponding to the respective hardware domains in different Dies.
The scheme of the S201 to S204 is adopted for the operating systems corresponding to one hardware domain in different Dies, so that one operating system can access another operating system. The scheme of S401-S403 is adopted, so that the access of another operating system to the operating system is realized. That is, according to the technical scheme of the application, the application of the operating systems can be mutually accessed, such as mutually shared, for each of the operating systems corresponding to one hardware domain in different Die. A technical support is provided for communication between the Dies in the target chip.
In some embodiments, as shown in fig. 5, the application sharing method in the embodiments of the present application further includes:
s501: obtaining a third target request of the first operating system for requesting a third operating system to perform application sharing; the third operating system is an operating system except 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 other Die except the first Die and the second Die in the M Die; the third application that the third operating system is capable of running is different from the second application that the first operating system is capable of running; the third target request is for the first operating system to request a third operating system to share a third application.
In practical applications, a user of a first operating system may need to use two applications simultaneously: application 1 and application 2. For example, a user may watch a song or video while watching a document. Instead, the first operating system itself does not have both applications, application 1 being an application in the second operating system and application 2 being an application in the third operating system. Assume that 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 identification list, the schemes shown in fig. 2 to 4 may be adopted to implement sharing of the application 1 of the second operating system in the first operating system.
After the starting, the first operating system can be connected with a Socket established between the third operating system, the identification information of the third application is obtained from the third operating system, and the identification information of the third application is recorded in a third application list of the first operating system. For the sharing operation of the music application in the third application list by the user of the first operating system, the scheme shown in fig. 5 may be adopted to implement sharing of the application 2 of the third operating system in the first operating system.
If the user of the first operating system has an application request which needs to be shared in the third operating system in the first operating system, input operation can be generated on a display screen of the first operating system, and the first operating system obtains the input operation aiming at the display screen in a monitoring mode. When the input operation is a sharing operation for the third application list, a third target request for requesting the third operating system to perform application sharing is generated.
It will be appreciated that when there is a request for sharing applications in the second and third operating systems in the first operating system, the user of the first operating system generates a sharing operation in the second application list and the third application list sequentially. In consideration of the time sequence of the sharing operations generated in the two application identification lists, the sequence determines which system application data in the second operating system and the third operating system is displayed in the first operating system first, and which system application data is displayed in the first operating system later. And after the application data of the later-displayed system application is displayed in the first operating system, the application of the two earlier-displayed and later-displayed system applications is simultaneously displayed in the first operating system, so that the use of a user is convenient.
If the first generated sharing operation is to share the application in the second operating system and the second generated sharing operation is to share the application in the third operating system, the sharing of the application of the second operating system in the first operating system is realized according to the schemes shown in fig. 2 to 4. And then according to the technical scheme shown in fig. 5, the application of the third operating system is shared in the first operating system. Vice versa.
Regardless of the order in which the sharing operations occur, in the case where the first operating system implements application sharing for the second and third operating systems, from the user side, the user can facilitate use by enjoying or viewing application data of two different applications that are otherwise running in the other operating systems.
S502: transmitting a third target request to a third operating system;
in this embodiment of the present application, the first operating system may transmit a third target request generated by itself and used for requesting to share an application of the third operating system to the third operating system by using Socket connection established between the first operating system and the third operating system.
And the third operating system receives a third target request from the first operating system through Socket connection. And responding to the third target request, analyzing what application the first operating system expects to share (to be shared) application is, starting the analyzed (third) application to be shared, and displaying application data of the third application to be shared by a virtual screen of the third operating system. That is, the application data of the third application to be shared is data displayed by a virtual screen of the third operating system when the third operating system responds to the third target request. And transmitting the application data of the (third) application to be shared to the first operating system by the third operating system through Socket connection.
S503: and obtaining application data of a third application to be shared, which is generated by a third operating system aiming at a third target request.
In this step, the first operating system receives application data of the third application to be shared from the third operating system through Socket transmission established between the first operating system and the third operating system.
S504: and displaying application data of the third application to be shared in the first operating system.
And displaying the application data of the third application to be shared received by the first operating system in a display screen of the first operating system, so that a user of the first operating system can conveniently use the application data of the third operating system.
The display of the first operating system may be two or more displays. Application data shared from the second operating system is displayed using one of the display screens. Application data shared from the third operating system is displayed using the other block. Or the same display screen capable of split-screen display. The first split area of the same display screen may display application data shared from the second operating system. A second split screen region of the same display screen may display application data shared from a third operating system.
Aiming at the operating systems corresponding to one hardware domain in different Dies, the scheme shown in S201-S204 and S501-S504 is utilized to realize the sharing of the application of the same operating system to other two different operating systems, namely, the access of the same operating system to the other two different operating systems is realized.
In theory, the technical scheme also comprises the access of the same operating system to other three, four or five applications of different operating systems. The specific implementation is similar to the schemes shown in S201 to S204 and S501 to S504, and will be understood and will not be repeated.
In theory, the schemes shown in S501 to S504 are schemes for sharing applications of the third operating system in the first operating system, and in addition, the technical scheme of the present application also includes a scheme for sharing applications of the first operating system in the third operating system. The specific process refers to the fact that the application sharing process of the second operating system to the first operating system is similar to that shown in fig. 4, and details thereof are omitted herein.
Based on the application sharing scheme among the operating systems located in different Die, the use experience of the user can be greatly improved, and the usability of the application in each operating system is improved.
In some embodiments, the application sharing method in the embodiments of the present application further includes: obtaining a fourth target request of the third operating system for requesting the first operating system to perform application sharing; responding to the fourth target request, and obtaining application data of a fourth application to be shared, which is requested to be shared by the first operating system by the third operating system; and transmitting the application data of the fourth application to be shared to the third operating system so as to display the application data of the fourth application to be shared by the third operating system.
The fourth application to be shared may be an application that the first operating system has but the third operating system does not. The fourth target request is a request that the third operating system requests the first operating system to perform application sharing. The execution subject of the foregoing scheme is a first operating system. The foregoing solution is a solution in which the third operating system requests the first operating system to perform application sharing, and the specific implementation of the solution is similar to the solution in which the second operating system requests the first operating system to perform application sharing, where redundant description is omitted.
It should be noted that, for the sake of brevity, some implementation details of the schemes of S501 to S504 and the scheme of the third operating system requesting the first operating system to perform application sharing are not described yet, and specific reference may be made to the foregoing descriptions of details in the related descriptions of fig. 2 to fig. 4, and similar parts are not repeated.
The technical scheme of the present application is further described below with reference to fig. 6 to 9.
For a target chip, an inter-Die transmission mechanism based on a high-speed serial computer expansion bus standard (PCIE, peripheral Component Interconnect Express) is constructed on a physical layer.
It can be appreciated that to implement the technical solution of the present application, improvements are required from several aspects of a transport layer, a system layer, and an application layer in the target chip. Wherein,
Transmission layer: the TCP protocol stack is structured such that the transmission of relevant information (such as the communication information between netdev and HPL in fig. 6) is performed at the physical layer using the TCP protocol. The same Internet Protocol (IP) address segment can be adopted for communication transmission between the operating systems corresponding to the hardware domains with communication requirements in different Dies. For example, in the embodiment of the present application, the IP addresses used by the first operating system and the second operating system in the communication process have the same address field. Therefore, in different Dies of the target chip, the same IP address field can be reused, so that on one hand, the Dies can be conveniently communicated, and on the other hand, the resources of the IP address are saved.
System layer: in an operating system, a virtual screen and a virtual node such as a virtual Camera (Camera) node are constructed. In a different Die, the second operating system may transmit virtual screen data (e.g., application data of the first or second applications to be shared) to the virtual node of the first operating system where the application sharing needs exist, so as to cache the application data of the applications to be shared on the virtual node of the first operating system.
Application layer: a communication protocol of the application layer (e.g. a transport protocol used in Socket connections) is built. Application information (first application or second application identification), start application instructions (e.g., first target request, second target request), and operation data (e.g., operation information of update operation) are transmitted using the communication protocol of the application layer.
Fig. 6 is a schematic diagram of interaction between two Die in an embodiment of the present application. Where SSA and SSB are represented as two distinct Die within the target chip. AP1, AP 2 and security 1 are three (software and hardware) combinations within SSA. Each combination includes a hardware domain of the SSA and an operating system corresponding to the hardware domain. AP 3, AP 4 and security 2 are three (software and hardware) combinations within SSB. Each combination includes a hardware domain of the SSB and an operating system corresponding to the hardware domain. Compared with the AP1, the AP 2, the AP 3 and the AP 4, the security 1 and the security 2 are security domain devices in different Dies and are used for executing tasks with high security requirements in a target chip.
The operating system corresponding to any hardware domain in the SSA can be shared with the operating system corresponding to any hardware domain in the SSB. Suppose that Android system a is an operating system running on AP1 of SSA, android system B is an operating system running on AP 3 of SSB, and Android system C is an operating system running on AP 4 of SSB. And different applications can be installed in the Android system A and the Android system B. And different applications can be installed in the Android system A and the Android system C. And the Android system A and the Android system B can share applications. Or, the Android system A and the Android system C can share applications. Or if the display screen is multi-screen or split-screen, the Android system A can be shared with the Android system B and the Android system C at the same time. Thus, the user of the Android system a can see the shared data from the Android system B and the shared data from the Android system C in the display screen.
Fig. 7 is an interaction schematic diagram of the first operating system and the second operating system in the embodiment of the present application at an application layer and a system layer. When the scheme shown in fig. 3 is executed, interaction occurs between the first operating system (Android a) and the second operating system (Android B). For the case where the user of the first operating system does not want to continue watching the short video content 1, the user may generate an update operation for the short video on the display interface. And when the updating operation generated by the user is monitored, the updating operation generated by the user is regarded as a touch operation. And on the application level, the operation information of the touch operation is sent to the second operating system through being connected with a Socket of the second operating system. The second operating system receives operation information of the touch operation, and analyzes which content the user of the first operating system wants to update from content 1. To want to update to content 2, content 2 of a short video application (e.g., application 1 in fig. 7) is displayed on the virtual screen of the second operating system. The content 2 displayed on the virtual screen is transferred from the second operating system to the virtual camera node of the first operating system through the system layers of the two operating systems and is cached. The first operating system reads data cached on the virtual camera node through the V4L2 architecture, takes the read data as screen projection data, and projects the screen projection data into a screen projection picture of the display screen. Thereby, updated display of application data of the application shared by the first operating system from the second operating system is achieved.
Fig. 8 is a schematic interaction diagram of a first operating system and a second operating system in an embodiment of the present application. As shown in fig. 8, taking the first operating system as Android a and the second operating system as Android B as an example, when the two systems are started, the Android a transmits application information of an application, such as an application name, an application icon, etc., of the Android a to the Android B through Socket connection between the Android a and the Android B. And the Android B transmits the application information of the application to the Android A. In this way, the Android a and the Android B record the identifications of the applications and the applications of the other party in the respective first application list and the respective second application list. The first application list records application identifiers of applications of the first application list. The second application list records application identifications of applications that the counterpart has.
If the Android A has a sharing operation of the application 1 which is intended to share the Android B from the user, a first target request generated based on the sharing operation is sent to the Android B. And the Android B responds to the first target request, starts the application 1, and displays application data of the application 1 on a virtual screen of the Android B. The application data of the application 1 is transmitted to the virtual camera node of the Android a. And the Android A starts a screen projection interface of application data of the application 1, reads data in the virtual camera node through the V4L2 architecture, and displays the read data in the screen projection interface of the display screen of the Android A. So as to realize the sharing of the application in Android B at Android A.
In addition, it is also possible to: if the Android B has the sharing operation of the application 2 which is intended to share the Android A from the user, a second target request generated based on the sharing operation is sent to the Android A. And the Android A responds to the second target request, starts the application 2, and displays application data of the application 2 on a virtual screen of the Android A. The application data of the application 2 is transmitted to the virtual camera node of the Android B. And the Android B starts a screen projection interface of application data of the application 2, reads data in the virtual camera node through the V4L2 architecture, and displays the read data in the screen projection interface of the display screen of the Android B. So as to realize the sharing of the application in Android A at Android B. Thus, for the operating systems corresponding to one hardware domain in each of different Die, the sharing of the application among the operating systems is realized, and the access of the operating systems to each other is realized.
Fig. 9 is a second schematic interaction diagram of the first operating system and the second operating system in the embodiment of the present application. In fig. 9, taking the first operating system as Android a and the second operating system as Android B as an example, when the two systems are started, respective local application lists are obtained. The local application list records the identities of the applications that each has. And acquiring the identification of the application of the opposite party through Socket connection established between the operating systems, and recording the identification of the application of the opposite party into a shared application list. The desktop engines of the two operating systems display a local application list and a shared application list to display the identifications of the applications of the two operating systems and the other application on a display screen. Android A and Android B monitor whether sharing operation exists or not respectively, and if sharing operation is not monitored, the application of the Android A and Android B is started. If the sharing operation is monitored, android A generates a first target request and sends the first target request to Android B. And the Android B responds to the first target request, starts the application to be shared, displays application data of the application to be shared on the virtual screen, and transmits the application data to the virtual camera node of the Android A. And the Android A starts a screen-throwing interface, reads data in the virtual camera node through the V4L2 architecture, and displays the read data in the screen-throwing interface of the display screen of the Android A.
If Android B monitors the sharing operation, android B generates a second target request and sends the second target request to Android A. And the Android A responds to the second target request, starts the application to be shared, displays application data of the application to be shared on the virtual screen, and transmits the application data to the virtual camera node of the Android B. And the Android B starts a screen-throwing interface, reads data in the virtual camera node through the V4L2 architecture, and displays the read data in the screen-throwing interface of the display screen of the Android B.
In the technical scheme, in the cross-Die operating system, each operating system has own application. Through a screen throwing mode, application sharing can be realized among the operating systems. Superficially, applications between the operating systems are shared, so that applications on two Android systems, such as running on one Android system, actually, system resources occupied by the applications on the two Android systems run on two systems of two Die. The running mode is smoother than running all the applications on the same Android system.
In the embodiment of the application, the target chip designed by adopting the chiplet technology can be applied to driving equipment. The driving apparatus includes at least one of a private travel tool and a public travel tool. Wherein, private travel tools include, but are not limited to, balance cars, electric motorcycles, private automobiles, private airplanes, and the like. Common travel tools include, but are not limited to, buses, trains, subways, high-speed rails, airplanes, and the like.
Taking a vehicle such as a private car as an example, the target chip is applied to the vehicle, one of the first operating system and the second operating system is an instrument system of the vehicle, and the other system other than the one system is a center control system of the vehicle. By the aid of the scheme, the instrument system can access the application in the central control system, and application data operated by the application in the central control system can be displayed on a display screen arranged for the instrument system in the vehicle. The central control system can access the application in the instrument system, and the display screen arranged for the central control system in the vehicle can display application data operated by the application in the instrument system. If two display screens arranged for the central control system and the instrument system are arranged at different positions of the vehicle, such as one is arranged at a driving position and the other is arranged at a seat positioned at the rear row of the driving position, the application data of the same application in the instrument system or the central control system can be displayed on different display screens through the technical scheme of the application data sharing method, so that sharing among passengers of the same application at different seats is realized.
From the application aspect, by using the technical scheme, a driver at the driving position can share an audible song or a section of audible video considered by the driver to a passenger at the rear row of the driving position. Or, the remaining oil amount, remaining power information, remaining amount warning information, etc. displayed in the meter system may be shared with the rear-row occupants. Therefore, when the technical scheme is applied to a vehicle, application data of the application originally running in the central control system can be displayed in the instrument system, and/or application data of the application originally running in the instrument system can be displayed in the central control system, so that entertainment and practicability can be enhanced, and vehicle traveling experience is greatly improved.
The embodiment of the application sharing device is applied to a target chip. The target chip includes M wafers Die, where M is an integer greater than or equal to 2. Each Die includes at least two hardware domains, each hardware domain of each Die corresponding to an operating system. As shown in fig. 10, the apparatus includes:
a first obtaining unit 1001, configured to obtain a first target request that 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 the first Die, and the second operating system is an operating system corresponding to a hardware domain included in the second Die; the first Die is one Die of M Die, and the second Die is other Die except the first Die; the first operating system can run a first application, 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 for a first operating system to request a second operating system to share a second application;
a first transmitting unit 1002, configured to transmit a first target request to a second operating system;
a second obtaining unit 1003, configured to obtain application data of a first application to be shared generated by a second operating system for the first target request;
A display unit 1004, configured to display application data of a first application to be shared in the first operating system.
In some embodiments, the second obtaining unit 1003 is configured to
The application data of the first application to be shared is transmitted to a virtual node of the first operating system for caching;
acquiring data cached in a virtual node of the first operating system;
the application data of the first application to be shared is data displayed by a virtual screen of the second operating system when the second operating system responds to the first target request.
In some embodiments, the first operating system includes a display screen, and in the case where 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,
the apparatus further comprises:
a third obtaining unit, configured to obtain an update operation for the first application data, and send operation information of the update operation to the second operating system;
a fourth obtaining unit configured to obtain second application data of the first application to be shared from the second operating system; the second application data is update data generated by the second operating system on a virtual screen of the second operating system based on the operation information;
And a display unit 1004, configured to display second application data of the first application to be shared on the display screen.
In some embodiments, the display screen of the first operating system displays a first application list and/or a second application list; the first application list comprises an identifier of a first application, and the second application list comprises an identifier of a second application; the first operating system obtains the identifier of the second application through communication connection established with the second operating system;
a first obtaining unit 1001 for obtaining an input operation for the display screen; when the input operation is a sharing operation for the second application list, a first target request for requesting application sharing by a second operating system is generated.
In some embodiments, obtaining, by a V4L2 architecture, application data of a first application to be shared cached in a virtual node of the first operating system; and the display unit 1004 is configured to display the application data in a display interface of a display screen of the first operating system, so as to display application data of the first application to be shared in the first operating system.
In some embodiments, the internet protocol IP addresses used by the first operating system and the second operating system in the communication process have the same address field.
In some embodiments, one of the first operating system and the second operating system is an instrument system of a vehicle and the other system other than the one system is a central control system of the vehicle.
In some embodiments, the apparatus further comprises:
the first acquisition unit is used for acquiring a second target request of the second operating system for requesting the first operating system to perform application sharing;
the first response unit is used for responding to the second target request to obtain application data of a second application to be shared, which is requested to be shared by the first operating system by the second operating system;
and the second transmission unit is used for transmitting the application data of the second application to be shared to the second operating system so as to display the application data of the second application to be shared by the second operating system.
In some embodiments, the apparatus further comprises:
the second acquisition unit is used for acquiring a third target request of the first operating system for requesting a third operating system to perform application sharing; the third operating system is a system except 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 other Die except the first Die and the second Die in the M Die; the third application that the third operating system is capable of running is different from the second application that the first operating system is capable of running; the third target request is used for the first operating system to request a third operating system to share a third application;
The third transmission unit is used for transmitting a third target request to a third operating system;
the third acquisition unit is used for acquiring application data of a third application to be shared, which is generated by a third operating system aiming at a third target request;
and a display unit 1004, configured to display application data of the third application to be shared in the first operating system.
In some embodiments, the apparatus further comprises:
the fourth acquisition unit is used for acquiring a fourth target request of the third operating system for requesting the first operating system to perform application sharing;
the second response unit is used for responding to the fourth target request and obtaining application data of a fourth application to be shared, which is requested to be shared by the first operating system by the third operating system;
and the fourth transmission unit is used for transmitting the application data of the fourth application to be shared to the third operating system so as to display the application data of the fourth application to be shared by the third operating system.
It should be noted that, in the application sharing device of the embodiment of the present application, since the principle of the application sharing device for solving the problem is similar to the foregoing application sharing method, the implementation process and the implementation principle of the application sharing device may be described with reference to the implementation process and the implementation principle of the foregoing method, and the repetition is omitted.
According to an embodiment of the present application, a chip is provided, which may be the target chip described above, including the application sharing device described above.
According to embodiments of the present application, an electronic device and a readable storage medium are also provided.
Wherein the electronic device comprises at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the application sharing methods described herein. The computer instructions are configured to cause the computer to perform the application sharing method described herein.
Fig. 11 shows a schematic block diagram of an example electronic device 800 that may be used to implement embodiments of the present application. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the application described and/or claimed herein.
As shown in fig. 11, the apparatus 800 includes a computing unit 801 that can perform various appropriate actions and processes according to a computer program stored in a Read Only Memory (ROM) 802 or a computer program loaded from a storage unit 808 into a Random Access Memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the device 800 can also be stored. The computing unit 801, the ROM 802, and the RAM 803 are connected to each other by a bus 804. An input/output (I/O) interface 805 is also connected to the bus 804.
Various components in device 800 are connected to I/O interface 805, including: an input unit 806 such as a keyboard, mouse, etc.; an output unit 807 such as various types of displays, speakers, and the like; a storage unit 808, such as a magnetic disk, optical disk, etc.; and a communication unit 809, such as a network card, modem, wireless communication transceiver, or the like. The communication unit 809 allows the device 800 to exchange information/data with other devices via a computer network such as the internet and/or various telecommunication networks.
The computing unit 801 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of computing unit 801 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized 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 respective methods and processes described above, for example, an application sharing method. For example, in some embodiments, the application sharing method may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as the storage unit 808. In some embodiments, part or all of the computer program may be loaded and/or installed onto device 800 via ROM 802 and/or communication unit 809. When a computer program is loaded into RAM 803 and executed by 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).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuit systems, field Programmable Gate Arrays (FPGAs), application Specific Integrated Circuits (ASICs), application Specific Standard Products (ASSPs), systems On Chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs, the one or more computer programs may be executed and/or interpreted on a programmable system including at least one programmable processor, which may be a special purpose or general-purpose programmable processor, that may receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for carrying out methods of the present application may be written in any combination of one or more programming languages. These program code may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus such that the program code, when executed by the processor or controller, causes the functions/operations specified in the flowchart and/or block diagram to be implemented. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this application, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and pointing device (e.g., a mouse or trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a background component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such background, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), wide Area Networks (WANs), and the internet.
The computer system may include a client and a server. The client and server are typically remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server may be a cloud server, a server of a distributed system, or a server incorporating a blockchain.
The foregoing is merely specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily think about changes or substitutions within the technical scope of the present application, and the changes and substitutions are intended to be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (14)

1. The application sharing method is characterized by being applied to a target chip, wherein the target chip comprises M wafers Die, and M is an integer greater than or equal to 2; each Die comprises at least two hardware domains, and each hardware domain of each Die corresponds to an operating system; the method comprises the following steps:
acquiring a first target request of a first operating system for requesting a second operating system to perform application sharing; the first operating system is an operating system corresponding to a hardware domain included in the first Die, and the second operating system is an operating system corresponding to a hardware domain included in the second Die; the first Die is one Die of M Die, and the second Die is other Die except the first Die; the first operating system can run a first application, 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 for a first operating system to request a second operating system to share a second application;
Transmitting the first target request to a second operating system;
obtaining application data of a first application to be shared generated by a second operating system aiming at a first target request;
and displaying the application data of the first application to be shared in the first operating system.
2. The method of claim 1, wherein obtaining application data of the first application to be shared generated by the second operating system for the first target request comprises:
the application data of the first application to be shared is transmitted to a virtual node of the first operating system for caching;
acquiring data cached in a virtual node of the first operating system;
the application data of the first application to be shared is data displayed by a virtual screen of the second operating system when the second operating system responds to the first target request.
3. The method of claim 1, wherein the first operating system includes a display, and wherein, in the case where the application data of the first application to be shared is displayed as the first application data on the display of the first operating system,
acquiring updating operation aiming at the first application data, and sending operation information of the updating operation to the second operating system;
Obtaining second application data of the first application to be shared from the second operating system; the second application data is update data generated by the second operating system on a virtual screen of the second operating system based on the operation information;
and displaying second application data of the first application to be shared on the display screen.
4. The method according to claim 1 or 2, further comprising:
the display screen of the first operating system displays a first application list and/or a second application list; the first application list comprises an identifier of a first application, and the second application list comprises an identifier of a second application; the first operating system obtains the identifier of the second application through communication connection established with the second operating system;
the obtaining a first target request that the first operating system requests the second operating system to perform application sharing includes:
obtaining input operation for the display screen;
when the input operation is a sharing operation for the second application list, a first target request for requesting application sharing by a second operating system is generated.
5. The method as recited in claim 2, further comprising:
And obtaining application data of the first application to be shared cached in the virtual node of the first operating system through the V4L2 architecture, and displaying the application data in a display interface of a 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.
6. The method of any of claims 1 to 5, wherein the internet protocol, IP, addresses used by the first operating system and the second operating system in the communication process have the same address field.
7. The method of any one of claims 1 to 5, wherein one of the first operating system and the second operating system is an instrument system of a vehicle and the other system other than the one system is a center control system of the vehicle.
8. The method according to any one of claims 1 to 5, further comprising:
obtaining a second target request of a second operating system for requesting the first operating system to perform application sharing;
responding to the second target request, and obtaining application data of a second application to be shared, which is requested to be shared by the first operating system by the second operating system;
and transmitting the application data of the second application to be shared to the second operating system so as to display the application data of the second application to be shared by the second operating system.
9. The method as recited in claim 1, further comprising:
obtaining a third target request of the first operating system for requesting a third operating system to perform application sharing; the third operating system is a system except 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 other Die except the first Die and the second Die in the M Die; the third application that the third operating system is capable of running is different from the second application that the first operating system is capable of running; the third target request is used for the first operating system to request a third operating system to share a third application;
transmitting a third target request to a third operating system;
obtaining application data of a third application to be shared generated by a third operating system aiming at a third target request;
and displaying application data of the third application to be shared in the first operating system.
10. The method as recited in claim 9, further comprising:
obtaining a fourth target request of the third operating system for requesting the first operating system to perform application sharing;
responding to the fourth target request, and obtaining application data of a fourth application to be shared, which is requested to be shared by the first operating system by the third operating system;
And transmitting the application data of the fourth application to be shared to the third operating system so as to display the application data of the fourth application to be shared by the third operating system.
11. The application sharing device is characterized by being applied to a target chip, wherein the target chip comprises M wafers Die, and M is an integer greater than or equal to 2; each Die comprises at least two hardware domains, and each hardware domain of each Die corresponds to an operating system; the device comprises:
the first obtaining unit is used for obtaining a first target request of the first operating system for requesting the second operating system to perform application sharing; the first operating system is an operating system corresponding to a hardware domain included in the first Die, and the second operating system is an operating system corresponding to a hardware domain included in the second Die; the first Die is one Die of M Die, and the second Die is other Die except the first Die; the first operating system can run a first application, 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 for a first operating system to request a second operating system to share a second application;
the transmission unit is used for transmitting the first target request to the second operating system;
A second obtaining unit, configured to obtain application data of a first application to be shared generated by a second operating system for the first target request;
and the display unit is used for displaying the application data of the first application to be shared in the first operating system.
12. A chip comprising the apparatus of claim 11.
13. An electronic device, the electronic device comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein,
the memory stores instructions executable by the at least one processor to enable 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 for causing a computer to perform the method of any one of claims 1-10.
CN202311554387.0A 2023-11-21 2023-11-21 Application sharing method, device, chip, electronic equipment and storage medium Pending CN117520016A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311554387.0A CN117520016A (en) 2023-11-21 2023-11-21 Application sharing method, device, chip, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311554387.0A CN117520016A (en) 2023-11-21 2023-11-21 Application sharing method, device, chip, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN117520016A true CN117520016A (en) 2024-02-06

Family

ID=89741623

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311554387.0A Pending CN117520016A (en) 2023-11-21 2023-11-21 Application sharing method, device, chip, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN117520016A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117807016A (en) * 2024-03-01 2024-04-02 上海励驰半导体有限公司 Communication method, device and storage medium for multi-core heterogeneous system and external device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117807016A (en) * 2024-03-01 2024-04-02 上海励驰半导体有限公司 Communication method, device and storage medium for multi-core heterogeneous system and external device

Similar Documents

Publication Publication Date Title
US10515056B2 (en) API for resource discovery and utilization
KR102245247B1 (en) GPU remote communication using triggered actions
CN117520016A (en) Application sharing method, device, chip, electronic equipment and storage medium
JP7269265B2 (en) VIDEO FRAME TRANSMISSION METHOD, DEVICE, ELECTRONIC DEVICE AND READABLE STORAGE MEDIUM
JP2021101356A (en) Equipment interaction method, device, equipment, system and medium
WO2020220777A1 (en) Method for pushing information, device, equipment, and medium
US20100328216A1 (en) Information processing apparatus and input control method
US10862730B2 (en) Selective connection for interface circuitry
CN109906453B (en) Method and system for establishing secure session for stateful cloud services
CN116088784B (en) Image screen projection method, device, electronic equipment, chip, storage medium and vehicle
CN109981778B (en) Method, device, equipment and storage medium for realizing service of content distribution network
US8769544B2 (en) Method and system for managing parallel resource request in a portable computing device
US20230007460A1 (en) Method and system for segmenting and transmiting data between computing devices and vehicle head units
CN115794725A (en) Method for obtaining playing decision, decision system, related equipment and storage medium
CN110955399A (en) In-vehicle display system, image display method, storage medium, and host
WO2023051315A1 (en) Application control method and apparatus, electronic device, and storage medium
EP4369186A1 (en) Control method and apparatus, device, and storage medium
CN115079993A (en) Cross-system audio playing control method and device, vehicle and storage medium
CN113791843A (en) Execution method, device, equipment and storage medium
CN115934632B (en) Data processing method, device, electronic equipment and storage medium
KR102493290B1 (en) Switchable communication transport for communication between primary devices and vehicle head units
WO2024026592A1 (en) Data storage method and related apparatus
WO2023109310A1 (en) Process management method and apparatus, and storage medium and electronic device
CN117807016A (en) Communication method, device and storage medium for multi-core heterogeneous system and external device
CN117389927A (en) Data processing method, device, equipment and medium for automobile open system architecture

Legal Events

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