A dual-host system, intelligent cockpit and intelligent vehicle

By introducing a dual-host system into the intelligent cockpit system and using a virtual machine monitor to coordinate hardware access requests, the performance limitations caused by the RTOS microkernel architecture are resolved, resulting in faster hardware access and system smoothness.

CN119872442BActive Publication Date: 2026-01-02ZEBRED NETWORK TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411941525.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-25
Publication Date
2026-01-02
Estimated Expiration
2044-12-25

AI Technical Summary

Technical Problem

In intelligent cockpit systems, the insufficient performance of the microkernel architecture of the RTOS leads to hardware access latency and lag in the Guest VM, affecting system smoothness.

Method used

A dual-host system is adopted, including a first virtual host and a second virtual host. The hardware access requests of each virtual machine are coordinated through a virtual machine monitor, and virtualization front-end and back-end services are configured respectively to achieve parallel hardware access.

Benefits of technology

It improves hardware access speed, compensates for the shortcomings of insufficient performance of a single host, and ensures system smoothness and functional security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119872442B_ABST
    Figure CN119872442B_ABST
Patent Text Reader

Abstract

The specification discloses a dual-host system, an intelligent cockpit and an intelligent vehicle, comprising: a first virtual host, a second virtual host, a virtual slave, a virtual machine monitor and a physical hardware device; the first virtual host and the second virtual host are both configured with virtualized back-end services; the second virtual host and the virtual slave are both configured with virtualized front-end services; the virtual machine monitor is configured to acquire hardware access requests initiated by the second virtual host and the virtual slave respectively using the virtualized front-end services; and according to the hardware access requests of the second virtual host and the virtual slave respectively, the virtual machine monitor drives the first virtual host and the second virtual host to provide virtualized back-end services respectively, so that the second virtual host accesses the physical hardware device through the first virtual host, and the virtual slave accesses the physical hardware device through the second virtual host.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present specification relates to the technical field of intelligent driving, and in particular to a dual-host system, an intelligent cockpit and an intelligent vehicle. BACKGROUND

[0002] With the increasing CPU computing power of the vehicle SOC (System On a Chip), in the intelligent cockpit system with functional safety requirements, virtual machine control technology can be used to support running multiple systems on the same chip, such as running RTOS (Real-time operating system), Linux operating system and Android operating system on the same chip. Among them, RTOS is responsible for instrument functional safety scenarios; Linux is responsible for vehicle control related scenarios; and Android is responsible for entertainment ecological scenarios. The virtual machine control technology realizes the mutual access of the three operating systems of RTOS+Linux+Android in the mode of "one master and multiple slaves".

[0003] In the traditional access mode, the main difference between the Host VM (master virtual machine) and the Guest VM (slave virtual machine) is the access to the device. The Host VM can directly access all physical hardware devices, while the Guest VM needs to access the physical hardware device by using the virtualization method of Virtio (a general-purpose virtualization device simulation standard). The virtio backend service is deployed in the Host VM, and the Guest VM completes the access to the physical hardware device by using the virtio frontend driver and the virtio backend service in the Host VM.

[0004] Referring to the above basic theory, in the mode of "one master and multiple slaves", since RTOS is a system with strict requirements for vehicle communication and safety, it cannot be used as a Guest VM, and therefore RTOS must be used as a Host VM, and the Virtio backend service must also be deployed on the RTOS. Linux and Android complete the access to the physical hardware device under the control of the RTOS.

[0005] However, due to the performance deficiency of the microkernel architecture of RTOS, the smoothness of the Guest VM accessing the hardware cannot be guaranteed, especially when the number of Guest VMs increases, the delay, lag and other phenomena occur frequently, which seriously affects the use of the intelligent cockpit. SUMMARY

[0006] The present specification provides a dual-host system, an intelligent cockpit and an intelligent vehicle to solve or partially solve the technical problem of hardware access delay caused by insufficient performance of a single host.

[0007] In a first aspect of the present specification, a dual-host system is disclosed, the system comprising: a first virtual host, a second virtual host, a virtual slave, a virtual machine monitor, a physical hardware device; wherein the first virtual host, the second virtual host, the virtual slave are connected to the virtual machine monitor respectively, and the virtual machine monitor is connected to the physical hardware device;

[0008] The first virtual host and the second virtual host are configured with virtualized backend services; the second virtual host and the virtual slave are configured with virtualized frontend services;

[0009] The virtual machine monitor is configured to obtain hardware access requests initiated by the second virtual host and the virtual slave using the virtualized frontend services respectively; and drive the first virtual host and the second virtual host to provide the virtualized backend services respectively according to the hardware access requests of the second virtual host and the virtual slave, so that the second virtual host accesses the physical hardware device through the first virtual host, and the virtual slave accesses the physical hardware device through the second virtual host.

[0010] Optionally, the virtual machine monitor specifically comprises:

[0011] A capture module is configured to capture hardware access requests initiated by the second virtual host and the virtual slave using the virtualized frontend services respectively;

[0012] A virtualization engine module is configured to drive the first virtual host to provide the virtualized backend services according to the hardware access requests of the second virtual host, so that the second virtual host accesses the physical hardware device through the first virtual host; and drive the second virtual host to provide the virtualized backend services according to the hardware access requests of the virtual slave, so that the virtual slave accesses the physical hardware device through the second virtual host.

[0013] Optionally, the virtualization engine module is further configured to drive the first virtual host and / or the second virtual host to provide the virtualized backend services when the virtual slave initiates a hardware access request, so that the virtual slave accesses the physical hardware device through the first virtual host and / or the second virtual host.

[0014] Optionally, the virtualization engine module is further configured to drive the first virtual host to provide the virtualized backend services when the second virtual host initiates a hardware access request alone, so that the second virtual host accesses the physical hardware device through the first virtual host.

[0015] Optionally, the virtualization engine module further comprises:

[0016] a parsing unit, configured to parse the hardware access request of the second virtual host and the hardware access request of the virtual slave, to obtain an identity of the second virtual host and an identity of the virtual slave;

[0017] a channel allocation unit, configured to allocate a corresponding first virtual channel according to the identity of the second virtual host, and allocate a corresponding second virtual channel according to the identity of the virtual slave; wherein the identity pair configured for the first virtual channel is (H-VM1, H-VM2), the identity pair configured for the second virtual channel is (G, H-VM1), H-VM1 represents the identity of the second virtual host, H-VM2 represents the identity of the first virtual host, and G represents the identity of the virtual slave;

[0018] an output unit, configured to transmit the hardware access request of the second virtual host to the first virtual host by using the first virtual channel, and transmit the hardware access request of the virtual slave to the second virtual host by using the second virtual channel.

[0019] Optionally, the virtualization engine module further comprises a configuration unit, configured to configure the first virtual channel, the second virtual channel and a third virtual channel; wherein the identity pair configured for the third virtual channel is (G, H-VM2).

[0020] Optionally, the first virtual host specifically comprises:

[0021] a first virtualization extension module, configured to receive the hardware access request of the second virtual host;

[0022] a first virtualization backend service module, configured with the virtualization backend service, and configured to access the corresponding physical hardware device according to the hardware access request of the second virtual host.

[0023] Optionally, the second virtual host specifically comprises:

[0024] a second virtualization extension module, configured to receive the hardware access request of the second virtual host;

[0025] a second virtualization backend service module, configured with the virtualization backend service, and configured to access the corresponding physical hardware device according to the hardware access request of the virtual slave.

[0026] Optionally, the second virtual host further comprises a first virtualization frontend service module, configured with the virtualization frontend service adapted to the first virtual host.

[0027] Optionally, the virtual slave specifically comprises:

[0028] the first virtualization front-end service module is configured with the virtualization front-end service adapted to the first virtual host;

[0029] the second virtualization front-end service module is configured with the virtualization front-end service adapted to the second virtual host.

[0030] In a second aspect of the present specification, an intelligent cockpit is disclosed, comprising the dual-host system as described in the first aspect.

[0031] In a third aspect of the present specification, an intelligent vehicle is disclosed, comprising the dual-host system as described in the first aspect.

[0032] Through one or more embodiments of the present specification, the present specification has the following beneficial effects or advantages:

[0033] In the dual-host scheme of the present specification, a first virtual host, a second virtual host, a virtual slave, a virtual machine monitor, and a physical hardware device are included. By adding a virtual host (e.g., a macro-kernel virtual host) to an original virtual host (e.g., a micro-kernel virtual host) to construct a dual-host to support parallel response to different hardware access requests, the performance deficiency of a single host is made up, and the hardware access speed is improved.

[0034] The above description is only a summary of the technical scheme of the present specification. In order to enable a clearer understanding of the technical means of the present specification, the technical scheme can be implemented according to the content of the specification, and in order to enable the above and other purposes, features and advantages of the present specification to be more obvious and easy to understand, the specific embodiments of the present specification are described below. BRIEF DESCRIPTION OF DRAWINGS

[0035] Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiments. The accompanying drawings are included to provide a better understanding of the preferred embodiments, and are not to be considered as limiting the present specification. Moreover, like reference numerals denote like elements throughout the accompanying drawings. In the drawings:

[0036] Figure 1 A schematic diagram of a dual-host system according to an embodiment of the present specification is shown;

[0037] Figure 2 A mapping relationship diagram of virtualization services of three virtual machines according to an embodiment of the present specification is shown. DETAILED DESCRIPTION

[0038] Exemplary embodiments of the present disclosure will be described in greater detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it is understood that the present disclosure can be embodied in various forms and should not be limited by the embodiments set forth herein. Rather, these embodiments are provided so that the present disclosure can be thoroughly and completely understood, and so that the scope of the present disclosure can be conveyed completely to those skilled in the art. The embodiments of the present disclosure provide a dual-host system, which can be applied to computers, vehicle-mounted devices, intelligent cockpits, intelligent vehicles, and other high-precision devices in practical applications.

[0039] Referring to Figure 1 FIG. 1 is a schematic diagram of a dual-host system provided by the embodiments of the present disclosure, which includes a first virtual host 11, a second virtual host 12, a virtual slave 13, a virtual machine monitor 14, and a physical hardware device 15.

[0040] The first virtual host 11, the second virtual host 12, and the virtual slave 13 are respectively equipped with different operating systems. For example, the first virtual host 11 is equipped with an RTOS operating system or a QNX operating system, the second virtual host 12 is equipped with a Linux operating system, and the virtual slave 13 is equipped with an Android operating system, but this does not form a limitation.

[0041] The first virtual host 11, the second virtual host 12, and the virtual slave 13 are respectively connected to the virtual machine monitor 14, and the virtual machine monitor 14 is connected to the physical hardware device 15.

[0042] The first virtual host 11 can be a microkernel virtual host or a macrokernel virtual host, and the second virtual host 12 can be a microkernel virtual host or a macrokernel virtual host. In the dual-host system of the embodiments of the present disclosure, application scenarios of a dual-microkernel virtual host, a dual-macrokernel virtual host, and a microkernel virtual host and a macrokernel virtual host can be included.

[0043] The microkernel virtual host and the macrokernel virtual host are divided according to operating systems.

[0044] Specifically, the microkernel virtual host refers to a virtual host running a microkernel operating system. In the microkernel virtual host, the core functions of the operating system are extracted to form a microkernel, which only includes the most basic functions such as process scheduling, memory management, and interrupt handling. Other system services, such as file systems, device drivers, and network protocol stacks, are run as independent service programs in the user space and communicate with the microkernel through the message passing mechanism provided by the microkernel. In the microkernel virtual host, all core functions and system services of the operating system are integrated into a single kernel, such as process management, memory management, file systems, device drivers, network protocol stacks, and other system functions.

[0045] The microkernel virtual host is exemplified by the QNX operating system, and the macrokernel virtual host is exemplified by the Linux operating system.

[0046] The first virtual host 11 and the second virtual host 12 are configured as dual hosts, and are both configured with virtualization back-end services. The second virtual host 12 and the virtual slave 13 are both configured with virtualization front-end services. For example, Virtio virtualization back-end services and Virtio virtualization front-end services.

[0047] The physical hardware device 15 is various. For example, a UFS (Universal Flash Storage), a GPU (Graphics Processing Unit), a network card, a hard disk, and the like. Since the dual host system is mounted in the smart cockpit in the embodiment of the present specification, the safety class device in the physical hardware device 15 can be allocated to the first virtual host 11, and the other virtual machines (the second virtual host 12 and the virtual slave 13) access the first virtual host 11 through the Virtio virtualization manner, thereby ensuring the functional safety requirement of the first virtual host 11. The non-safety class is allocated to the second virtual host 12, which not only relieves the access pressure of the first virtual host 11, ensures the device access speed, but also reduces the CPU consumption caused by the device sharing of the single virtual host.

[0048] The virtual machine monitor 14 is interposed between the underlying physical hardware device 15 and the multiple virtual machines, and can allow the operating systems and applications mounted in the multiple virtual machines to share the physical hardware device 15. On the basis of the dual host system in the embodiment, the virtual machine monitor 14 is configured to allocate a corresponding virtualization channel to the hardware access request issued by each virtual machine, and notify the corresponding virtual host through the virtual interrupt mechanism.

[0049] The virtual machine monitor 14 can support the Virtio virtualization back-end service running on the two virtual hosts to simultaneously access the physical hardware device 15. In a specific implementation, the virtual machine monitor is configured to capture hardware access requests initiated by the second virtual host 12 and the virtual slave 13 using the virtualization front-end service respectively; and drive the first virtual host 11 and the second virtual host 12 to provide the virtualization back-end service respectively according to the hardware access requests of the second virtual host 12 and the virtual slave 13. Specifically, the virtual machine monitor 14 drives the first virtual host 11 and the second virtual host 12 to provide the virtualization back-end service micro-kernel respectively. The first virtual host 11 and the second virtual host 12 run the Virtio virtualization back-end service in parallel, so that the second virtual host 12 accesses the physical hardware device 15 through the first virtual host 11, and the virtual slave 13 accesses the physical hardware device 15 through the second virtual host 12. Of course, the physical hardware devices 15 accessed by the second virtual host 12 and the virtual slave 13 can be the same or different.

[0050] For the purpose of detailed description and explanation of the present specification, the following refers to Figure 1 .

[0051] The first virtual host 11 is internally provided with a first virtualization extension module 111 and a first virtualization back-end service module 112. The first virtualization back-end service module 112 is configured with a virtualization back-end service; and the first virtualization extension module 111 is responsible for interfacing the virtual machine monitor 14 and the first virtualization back-end service module 112, and mainly handles memory mapping and interrupt notification mechanism.

[0052] The second virtual host 12 is internally provided with a second virtualization extension module 121, a first virtualization front-end service module 123, and a second virtualization back-end service module 122. The first virtualization front-end service module 123 is configured with a virtualization front-end service adapted to the first virtual host 11; the second virtualization back-end service module 122 is configured with a virtualization back-end service adapted to the second virtual host 12; and the second virtualization extension module 121 is responsible for interfacing the virtual machine monitor 14 and the second virtualization back-end service module 122, and mainly handles memory mapping and interrupt notification mechanism.

[0053] The virtual slave 13 is internally provided with a first virtualization front-end service module 123 and a second virtualization front-end service module 131. The first virtualization front-end service module 123 is configured with a virtualization front-end service adapted to the first virtual host 11; and the second virtualization front-end service module 131 is configured with a virtualization front-end service adapted to the second virtual host 12.

[0054] For the purpose of detailed description and explanation of the present specification, the following refers to Figure 2is a mapping relationship diagram of the virtualization service of the three virtual machines. It is worth noting that, since the virtualization backend service of the embodiment is configured on different virtual hosts, in order to facilitate the distinction, the virtualization backend service configured by the first virtual host 11 is called: the first virtualization backend service; the virtualization backend service configured by the second virtual host 12 is called: the second virtualization backend service. In addition, since the virtualization frontend service of the embodiment is configured on different virtual machines, in order to facilitate the distinction, the virtualization frontend service corresponding to the first virtualization backend service is called: the first virtualization frontend service; the virtualization frontend service corresponding to the second virtualization backend service is called: the second virtualization frontend service.

[0055] In the first virtual host 11, the first virtualization backend service is configured.

[0056] In the second virtual host 12, the second virtualization backend service and the first virtualization frontend service are configured.

[0057] In the virtual slave 13, the first virtualization frontend service and the second virtualization frontend service are configured.

[0058] On the basis of the above-mentioned service configuration, the first virtualization backend service configured in the first virtual host 11 can support the hardware access request of the second virtual host 12 and the virtual slave 13 in parallel, that is: the second virtual host 12 and the virtual slave 13 can access the physical hardware device 15 through the first virtual host 11 in parallel.

[0059] While the second virtual host 12 accesses the physical device hardware through the first virtual host 11, it can support the hardware access request of the virtual slave 13 in parallel.

[0060] The virtual slave 13 can access different physical hardware devices 15 through the second virtual host 12 and the first virtual host 11 in parallel.

[0061] The above is the configuration of each virtual machine, and the configuration of the virtual machine monitor 14 is introduced below.

[0062] Since the embodiment is a dual-host system, the virtual machine monitor 14 configures different virtualization channels to support the interaction of the virtual machines during initialization. Specifically, the virtual machine monitor 14 includes a configuration unit configured to configure a first virtual channel, a second virtual channel, and a third virtual channel. Specifically, the corresponding virtual host identity, the corresponding virtual slave 13 identity, the memory region, and the interrupt information are configured in each virtual channel. Among them, the virtual host identity and the virtual slave 13 identity configured in the virtual channel form an identity pair, which is used to verify the identity of the virtual host and the virtual slave 13, and is only used for communication between the virtual host and the virtual slave 13 that passes the verification. Among them, the identity pair configured in the first virtual channel is (H-VM1, H-VM2), H-VM1 represents the identity of the second virtual host 12, H-VM2 represents the identity of the first virtual host 11, and represents the communication between the second virtual host 12 and the first virtual host 11; the identity pair configured in the second virtual channel is (G, H-VM1), G represents the identity of the virtual slave 13, and represents the communication between the virtual slave 13 and the second virtual host 12; the identity pair configured in the third virtual channel is (G, H-VM2), which represents the communication between the virtual slave 13 and the first virtual host 11. The memory region is used for storage, and the interrupt information is used for interrupting the current execution operation, and is used for communication between the virtual host and the virtual slave 13 whose identity verification passes. The subsequent memory region and interrupt information have the same function, only the subject of storage and execution is different, so subsequent details will not be described.

[0063] In an optional embodiment, the initialization operation is performed when the virtual machine monitor 14, the first virtual host 11, the second virtual host 12, and the virtual slave 13 are started for the first time.

[0064] In the initialization operation of the virtual machine monitor 14, the configuration unit is used to configure the first virtual channel, the second virtual channel, and the third virtual channel, and the corresponding virtual host identity, the corresponding virtual slave 13 identity, the memory region, and the interrupt information are configured in different channels, and the initialization operations such as memory mapping and interrupt registration are performed.

[0065] In the initialization operation of the first virtual host 11, different virtual channel nodes are configured, and each virtual channel has a corresponding identity pair, a memory region, and interrupt information. Specifically, the first virtual host 11 configures two virtual channels according to the first virtualization back-end service: the first virtual channel and the third virtual channel, and the corresponding memory region and interrupt information of each channel.

[0066] In the initialization operation of the second virtual host 12, different virtual channel nodes are configured, each virtual channel having a corresponding identity pair, memory region and interrupt information. Specifically, since the second virtual host 12 needs to run both the second virtualized backend service and the first virtualized frontend service, the initialization is divided into two parts: 1. When configuring based on the second virtualized backend service, the second virtual host 12 configures the second virtual channel, memory region and interrupt information; 2. When configuring based on the first virtualized frontend service, the second virtual host 12 configures the memory region and interrupt information of the hardware access request.

[0067] In the initialization operation of the virtual slave 13, the memory region and interrupt information are configured according to the first virtualized backend service and the second virtualized backend service, respectively.

[0068] The above is the introduction of the initialization operation, and the communication control logic of the virtual machine in the dual-host system will be introduced below. In the present embodiment, the communication control logic of the virtual machine includes multiple types. For example, the second virtual host 12 and the virtual slave 13 access the physical hardware device 15 in parallel through the dual-host, the second virtual host 12 and the virtual slave 13 access the physical hardware device 15 in parallel through the single-host, the second virtual host 12 accesses the physical hardware device 15 alone, and the virtual slave 13 accesses the physical hardware device 15 alone (using the single-host) or in parallel (using the dual-host). The above will be introduced respectively.

[0069] When the second virtual host 12 and the virtual slave 13 access the physical hardware device 15 in parallel through the dual-host, the virtual slave 13 initiates a hardware access request using the virtualized frontend service configured by the second virtualized frontend service module 131, and the second virtual host 12 initiates a hardware access request using the virtualized frontend service configured by the first virtualized frontend service module 123.

[0070] In the virtual machine monitor 14, there are included a capture module and a virtualization engine module.

[0071] The capture module is configured to acquire the hardware access requests initiated by the second virtual host 12 and the virtual slave 13 using the virtualized frontend service, respectively.

[0072] a virtualization engine module configured to drive the first virtual host 11 to provide virtualization back-end services according to a hardware access request of the second virtual host 12, so that the second virtual host 12 accesses the physical hardware device 15 through the first virtual host 11; and drive the second virtual host 12 to provide virtualization back-end services according to a hardware access request of the virtual slave 13, so that the virtual slave 13 accesses the physical hardware device 15 through the second virtual host 12. In this embodiment, the first virtual host 11 and the second virtual host 12 run the Virtio virtualization back-end services in parallel, so that the second virtual host 12 accesses the physical hardware device 15 through the first virtual host 11, and the virtual slave 13 accesses the physical hardware device 15 through the second virtual host 12. Of course, the physical hardware device 15 accessed by the second virtual host 12 and the virtual slave 13 can be the same or different.

[0073] In the specific implementation, the virtualization engine module includes an analysis unit, a channel allocation unit, and an output unit. The analysis unit is configured to analyze the hardware access request of the second virtual host 12 and the hardware access request of the virtual slave 13, and obtain the identity H-VM1 of the second virtual host 12 and the identity G of the virtual slave 13. The channel allocation unit is configured to allocate a corresponding first virtual channel according to the identity H-VM1 of the second virtual host 12, and allocate a corresponding second virtual channel according to the identity G of the virtual slave 13. The output unit is configured to transmit the hardware access request of the second virtual host 12 to the first virtual host 11 through the first virtual channel, and transmit the hardware access request of the virtual slave 13 to the second virtual host 12 through the second virtual channel.

[0074] In this embodiment, the virtualization back-end services configured in the first virtual host 11 are used to provide virtualization services for the second virtual host 12 to access the corresponding physical hardware device 15. Specifically, in the first virtual host 11, the first virtualization extension module 111 is configured to receive the hardware access request of the second virtual host 12, and the first virtualization back-end service module 112 is configured with virtualization back-end services and is configured to access the corresponding physical hardware device 15 according to the hardware access request of the second virtual host 12.

[0075] Correspondingly, the virtualization back-end services configured in the second virtual host 12 are used to provide virtualization services for the virtual slave 13 to access the corresponding physical hardware device 15. In the second virtual host 12, the second virtualization extension module 121 is configured to receive the hardware access request of the second virtual host 12, and the second virtualization back-end service module 122 is configured with virtualization back-end services and is configured to access the corresponding physical hardware device 15 according to the hardware access request of the virtual slave 13.

[0076] In an alternative embodiment, when the second virtual host 12 and the virtual slave 13 access the physical hardware device 15 through the single host (the first virtual host 11) in parallel, the virtual slave 13 initiates a hardware access request using the virtualization front-end service configured by the first virtualization front-end service module 123, and the second virtual host 12 initiates a hardware access request using the virtualization front-end service configured by the first virtualization front-end service module 123.

[0077] The virtual machine monitor 14 is configured to capture the hardware access requests of the second virtual host 12 and the virtual slave 13 respectively, and to drive the first virtual host 11 to provide the virtualization back-end service according to the hardware access requests of the second virtual host 12 and the virtual slave 13 respectively, so that the second virtual host 12 and the virtual slave 13 both access the physical hardware device 15 through the first virtual host 11. Specifically, the virtual machine monitor 14 is configured to configure the first virtual channel and the third virtual channel according to the hardware access requests of the second virtual host 12 and the virtual slave 13 respectively, and to transmit the hardware access request of the second virtual host 12 to the first virtual host 11 using the first virtual channel, and to transmit the hardware access request of the virtual slave 13 to the first virtual host 11 using the third virtual channel.

[0078] In the present embodiment, the hardware access requests of the second virtual host 12 and the virtual slave 13 are supported in parallel by the first virtualization back-end service configured in the first virtual host 11. In the first virtual host 11, the first virtualization extension module 111 is configured to receive the hardware access requests sent by the second virtual host 12 and the virtual slave 13 respectively, and the first virtualization back-end service module 112 is configured with the virtualization back-end service, and is configured to access the corresponding physical hardware device 15 according to the hardware access requests of the second virtual host 12 and the virtual slave 13 respectively.

[0079] In an alternative embodiment, when the second virtual host 12 accesses the physical hardware device 15 alone, the second virtual host 12 initiates a hardware access request using the virtualization front-end service configured by the first virtualization front-end service module 123.

[0080] The capture module in the virtual machine monitor 14 is configured to capture the hardware access request of the second virtual host 12, and the virtualization engine module is configured to drive the first virtual host 11 to provide the virtualization back-end service when the second virtual host 12 initiates the hardware access request alone, so that the second virtual host 12 accesses the physical hardware device 15 through the first virtual host 11. Specifically, the virtual machine monitor 14 is configured to configure the first virtual channel according to the hardware access request of the second virtual host 12, and to transmit the hardware access request of the second virtual host 12 to the first virtual host 11 using the first virtual channel.

[0081] In the embodiment, the first virtualization backend service configured in the first virtual host 11 supports responding to the hardware access request of the second virtual host 12. Specifically, in the first virtual host 11, the first virtualization extension module 111 is configured to receive the hardware access request of the second virtual host 12; and the first virtualization backend service module 112 is configured with a virtualization backend service, and is configured to access the corresponding physical hardware device 15 according to the hardware access request of the second virtual host 12.

[0082] In an optional embodiment, when the virtual slave 13 accesses the physical hardware device 15, the second virtual host 12 initiates the hardware access request by using the virtualization frontend service configured in the first virtualization frontend service module 123 and / or the virtualization frontend service configured in the second virtualization frontend service module 131.

[0083] The capture module in the virtual machine monitor 14 is configured to capture the hardware access request of the virtual slave 13; and the virtualization engine module is further configured to drive the first virtual host 11 and / or the second virtual host 12 to provide the virtualization backend service when the virtual slave 13 initiates the hardware access request, so that the virtual slave 13 accesses the physical hardware device 15 through the first virtual host 11 and / or the second virtual host 12.

[0084] The virtualization backend service configured in the first virtual host 11 and / or the second virtual host 12 respectively supports responding to the hardware access request of the virtual slave 13. Specifically, in the first virtual host 11, the first virtualization extension module 111 is configured to receive the hardware access request of the virtual slave 13; and the first virtualization backend service module 112 is configured with a virtualization backend service, and is configured to access the corresponding physical hardware device 15 according to the hardware access request of the virtual slave 13. And / or, in the second virtual host 12, the second virtualization extension module 121 is configured to receive the hardware access request of the virtual slave 13; and the second virtualization backend service module 122 is configured with a virtualization backend service, and is configured to access the corresponding physical hardware device 15 according to the hardware access request of the virtual slave 13.

[0085] The above is the communication control logic of the virtual machine in the dual-host system. The dual-host is constructed by adding the second virtual host 12 on the basis of the original first virtual host 11 to support responding to different hardware access requests in parallel, so as to make up for the performance deficiency of a single host and improve the hardware access speed.

[0086] The differences between the present scheme and the prior art are described below by taking the RTOS system, the Linux system and the Android system as examples.

[0087] In the prior art, when Linux systems and Android systems access shared devices, they can only access through the Virtio virtualization service provided by the RTOS system. Even if the device is only used by Linux systems and Android systems, the Virtio virtualization backend service must be deployed to the RTOS system and the physical hardware device must be transparently transmitted to the RTOS system. When Linux systems and Android systems access, they must access the device through the RTOS system. Due to the microkernel architecture of the RTOS system, which is not as good as the macrokernel architecture of Linux and other systems, combined with Virtio virtualization, the performance of the RTOS single-host system is reduced.

[0088] The present specification supports a dual-host system scheme, configures an RTOS system and a Linux system as virtual hosts at the same time, allocates security-class devices to the first virtual host: the RTOS uses the deployed Virtio backend service, and part of the peripherals (non-security-class devices, devices that do not need to be controlled by the RTOS system) are transparently transmitted to the second virtual host: Linux and deploy the Virtio backend service. The access of the Linux system and the Android system can respectively reach the device sharing purpose through the respective virtual host channel, and congestion will not occur, which not only ensures the performance of device access, but also reduces the CPU consumption caused by using a single virtual host for device sharing in the prior art.

[0089] In the present specification, the single-host scheme is expanded to a dual-host scheme, and Virtio virtualization services can be run on two virtual hosts. In addition, the scheme in the present specification can take into account performance and functional safety, run the RTOS functional safety domain in the first virtual host, run the non-functional safety domain in the second virtual host, and run the entertainment domain in the virtual slave. In this way, both the functional safety requirements can be ensured through the first virtual host, and the performance of the non-functional safety domain can be ensured through the second virtual host.

[0090] Based on the same inventive concept as one or more of the foregoing embodiments, the following embodiments disclose a smart cockpit, which includes a dual-host system as described in any of the foregoing embodiments to support the smart cockpit to quickly respond to the driver's access hardware requirements.

[0091] Based on the same inventive concept as one or more of the foregoing embodiments, the following embodiments disclose a smart vehicle, such as an unmanned vehicle, an electric vehicle, an oil vehicle, and the like. The smart vehicle of the present embodiment has a dual-host system as described in any of the foregoing embodiments to support the smart vehicle to quickly respond to the driver's access hardware requirements.

[0092] The algorithms and displays presented herein are not inherently related to any particular computer, virtual system, or other apparatus. Various general purpose systems can be used with programs in accordance with the teachings herein, or it can prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will be apparent from the description above. In addition, the present description is not intended to be limited to any particular programming language. It will be appreciated that a variety of programming languages can be used to implement the teachings of the description herein, and any references below to specific languages are provided for disclosure of enablement of the best mode of the description.

[0093] In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the description can be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been described in detail in order to not obscure the understanding of this description.

[0094] Similarly, it is to be understood that the description of exemplary embodiments of the description herein is intended to be illustrative, but not limiting, of the scope of the application as set forth in the following claims. In the description of the exemplary embodiments of the description, specific terminology is used to describe particular features and / or process steps. However, the use of such specific terminology is for descriptive and not limiting purposes. Thus, any use of specific terminology is not intended to limit the scope of the claims to the specific embodiments presented or described herein. Rather, the scope of the claims is intended to cover all embodiments that fall within the scope of the claims, including equivalents and equivalents of the claims.

[0095] Those skilled in the art will appreciate that the modules in the apparatuses in the embodiments can be adapted and placed in one or more apparatuses other than the embodiments. The modules or units or components in the embodiments can be combined into one module or unit or component, and further can be divided into multiple sub-modules or sub-units or sub-components. Any combination of all the features disclosed in the description (including the accompanying claims, abstract and drawings) and any method or apparatus so disclosed can be made, except that at least some of such features and / or processes or units are mutually exclusive. Unless explicitly stated otherwise, each feature disclosed in the description (including the accompanying claims, abstract and drawings) can be replaced by alternative features that serve the same, equivalent or similar purpose.

[0096] Furthermore, those skilled in the art will recognize that, while certain embodiments described herein include certain features that are not included in other embodiments, combinations of features of the different embodiments are meant to be within the scope of the present description and form different embodiments. For example, in the claims below, any of the claimed embodiments can be used in any combination.

[0097] Various component embodiments of the present description can be implemented in hardware, or as software modules running in one or more processors, or combinations thereof. Those skilled in the art will appreciate that a microprocessor or a digital signal processor (DSP) can be used in practice to implement some or all of the functionality of some or all of the components of the gateway, the proxy server, the system according to the embodiments of the present description. The present description can also be implemented as a program (e.g., computer program and computer program product) for performing part or all of the methods described herein. Such a program implementing the present description can be stored on a computer readable medium, or can have one or more signals. Such signals can be downloaded from an Internet website, or provided on a carrier medium, or in any other form.

[0098] It should be noted that the above-mentioned embodiments illustrate rather than limit the present description, and that one skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word 'comprising' does not exclude the presence of elements or steps not listed in a claim. The word 'a' or 'an' preceding an element does not exclude the presence of a plurality of such elements. The disclosure can be implemented by means of both hardware and software, and any combination thereof. In a unit claim, several devices can be listed with a conjunction like 'or', but it is to be understood that a combination of these devices can be used in the embodiments of the present description. The use of the word 'at least' followed by a list of one or more items does not exclude additional such items. The use of the words 'one' or 'only one' with a list of one or more items does not exclude additional such items. The scope of the description is not limited by the embodiments described herein but only by the claims.

Claims

1. A dual-host system, the system comprising: A first virtual host, a second virtual host, a virtual slave, a virtual machine monitor, and physical hardware devices; wherein the first virtual host, the second virtual host, and the virtual slave are respectively connected to the virtual machine monitor, and the virtual machine monitor is connected to the physical hardware devices. Both the first virtual host and the second virtual host are configured with virtualization backend services; both the second virtual host and the virtual slave are configured with virtualization frontend services. The virtual machine monitor is used to acquire hardware access requests initiated by the second virtual host and the virtual slave using the virtualization front-end service; based on the hardware access requests of the second virtual host and the virtual slave, it drives the first virtual host and the second virtual host to provide the virtualization back-end service, so that the second virtual host can access the physical hardware device through the first virtual host, and the virtual slave can access the physical hardware device through the second virtual host.

2. The dual-host system as described in claim 1, wherein the virtual machine monitor specifically includes: The capture module is used to capture hardware access requests initiated by the second virtual host and the virtual slave using the virtualization front-end service. The virtualization engine module is configured to drive the first virtual host to provide the virtualization backend service according to the hardware access request of the second virtual host, so that the second virtual host can access the physical hardware device through the first virtual host; and to drive the second virtual host to provide the virtualization backend service according to the hardware access request of the virtual slave, so that the virtual slave can access the physical hardware device through the second virtual host.

3. In the dual-host system as described in claim 2, the virtualization engine module is further configured to drive the first virtual host and / or the second virtual host to provide the virtualization backend service when the virtual slave initiates a hardware access request, so that the virtual slave can access the physical hardware device through the first virtual host and / or the second virtual host.

4. In the dual-host system as described in claim 2, the virtualization engine module is further configured to drive the first virtual host to provide the virtualization backend service when the second virtual host initiates a hardware access request independently, so that the second virtual host can access the physical hardware device through the first virtual host.

5. The dual-host system as described in claim 2, wherein the virtualization engine module further comprises: The parsing unit is used to parse the hardware access requests of the second virtual host and the virtual slave respectively, and obtain the identity identifier of the second virtual host and the identity identifier of the virtual slave; The channel allocation unit is used to allocate a first virtual channel corresponding to the identity identifier of the second virtual host, and to allocate a second virtual channel corresponding to the identity identifier of the virtual slave; wherein, the identity identifier pair configured for the first virtual channel is (H-VM1, H-VM2), and the identity identifier pair configured for the second virtual channel is (G, H-VM1), where H-VM1 represents the identity identifier of the second virtual host, H-VM2 represents the identity identifier of the first virtual host, and G represents the identity identifier of the virtual slave; The output unit is configured to transmit the hardware access request of the second virtual host to the first virtual host using the first virtual channel; and to transmit the hardware access request of the virtual slave to the second virtual host using the second virtual channel.

6. The dual-host system as described in claim 5, wherein the virtualization engine module further comprises: A configuration unit is used to configure the first virtual channel, the second virtual channel, and the third virtual channel; wherein the identity pair configured for the third virtual channel is (G, H-VM2).

7. The dual-host system as described in claim 1, wherein the first virtual host specifically includes: The first virtualization extension module is used to receive hardware access requests from the second virtual host; The first virtualization backend service module is configured with the virtualization backend service, which is used to access the corresponding physical hardware device according to the hardware access request of the second virtual host.

8. The dual-host system as described in claim 1, wherein the second virtual host specifically includes: The second virtualization extension module is used to receive hardware access requests from the second virtual host; The second virtualization backend service module is configured with the virtualization backend service, which is used to access the corresponding physical hardware device according to the hardware access request of the virtual slave.

9. The dual-host system as described in claim 1 or 8, wherein the second virtual host further comprises: The first virtualization front-end service module is configured with the virtualization front-end service adapted to the first virtual host.

10. The dual-host system as described in claim 9, wherein the virtual slave specifically includes: The first virtualization front-end service module is configured with the virtualization front-end service adapted to the first virtual host; The second virtualization front-end service module is configured with the virtualization front-end service adapted to the second virtual host.

11. An intelligent cockpit comprising a dual-host system as described in any one of claims 1-10.

12. An intelligent vehicle comprising a dual-host system as described in any one of claims 1-10.

Citation Information

Patent Citations

  • Method and apparatus for light-weight virtualization contexts

    CN107924442A

  • Master-slave system control method, hardware architecture and master-slave system

    CN109669725A