Cross-OS Memory Sharing Using Dynamic Buffer Address Identifiers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing technologies do not provide a method for sharing memory across different operating systems, which is necessary for improving data transmission efficiency and addressing memory sharing issues between systems like the Intelligent Cockpit and ADAS/AD that use different operating systems such as QNX and Linux.
Innovation Solution
A method and apparatus for sharing memory across operating systems by determining a first dynamic buffer area in a first operating system, assigning a unique address identifier to this area, and sending it to a second operating system within the same integrated circuit, enabling direct access and memory sharing between the systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If memory sharing mechanism is implemented within a single operating system, then data transmission efficiency is improved, but memory sharing between different operating systems remains unsupported
Solution Approach 1:
The memory sharing mechanism is designed to work across different operating systems (QNX and Linux) by establishing a universal interface layer. The device memory is made accessible to multiple OS types through a standardized sharing protocol, allowing the same memory pool to serve multiple operating systems simultaneously without requiring OS-specific implementations.
Solution Approach 2:
An intermediary memory management layer is introduced between the physical device memory and the different operating systems. This intermediary layer handles address translation, memory allocation, and access control, enabling seamless communication between QNX and Linux systems sharing the same device memory without direct OS-to-OS interaction.
2Speed
If traditional memory sharing methods are used, then data transmission speed is improved, but direct access between different operating systems is not enabled
Solution Approach 1:
The patent merges the memory spaces of different operating systems by allowing them to access the same device memory pool. The QNX operating system and Linux operating system are combined in their ability to access shared device memory through a unified addressing mechanism, eliminating the need for separate memory spaces and enabling direct access between OSes.
3Reliability
If separate memory spaces are allocated to different operating systems, then system isolation is maintained, but memory sharing and data transmission efficiency are reduced
Solution Approach 1:
The device memory is segmented into multiple buffer areas that can be dynamically allocated to different operating systems. Each OS receives dedicated buffer segments when needed, maintaining isolation and reliability, while the segmentation allows flexible reconfiguration for efficient memory sharing when collaboration between OSes is required.
Data Source
Figure 1a
Figure 1b~2
Figure 3
AI summary
Embodiments of the present disclosure disclose a method of sharing memory cross operating systems, apparatus, a circuit, a medium, and a device. The method of sharing memory cross operating systems includes: determining a first dynamic buffer area in a first operating system according to a memory sharing message; determining an address identifier corresponding to the first dynamic buffer area; and sending the address identifier to a second operating system, wherein the first operating system and the second operating system are in a same integrated circuit.