Real airborne software synchronous operation system and method based on Linux
By using a Linux-based real airborne software synchronous running system, and leveraging container images and redundant synchronous running middleware, the timing synchronization and collaborative scheduling problems of redundant hardware design in flight control/flight management computers were solved, achieving efficient simulation verification and stable operation.
Patent Information
- Application Number
- CN202511611364.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-05
- Publication Date
- 2026-01-23
AI Technical Summary
In the existing technology, the redundant hardware design of flight control/flight management computers makes software scheduling and collaborative design and verification difficult, hardware resources are scarce, there are uncontrollable factors in the simulation verification process, and fault injection is difficult, which affects software quality and development efficiency.
A Linux-based real-airborne software synchronous running system is adopted. Through container images and redundant synchronous running middleware, the redundant software achieves strict timing synchronization and collaborative operation in the simulation environment. The redundancy manager module provides a unified clock signal and the partition simulation module performs time-sharing and partition scheduling to ensure that each redundant instance starts and runs in an isolated and consistent running environment.
It achieves strict timing synchronization and collaborative operation of redundant software in the simulation environment, improves the repeatability and deployment convenience of simulation verification, ensures software quality and development efficiency, and reduces hardware costs.
Smart Images

Figure CN121387579A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of airborne software simulation technology, and in particular to a Linux-based system and method for synchronous operation of real airborne software. Background Technology
[0002] With the continuous development of the aviation industry, flight control / aircraft management computers (FNCs) play a crucial role in aircraft flight control and management. The stability and reliability of FNCs directly affect aircraft flight safety and performance. Therefore, comprehensive and efficient simulation verification is essential to ensure the quality and safety of FNC software. This not only helps to identify potential problems in the software early and reduce R&D costs, but also shortens the R&D cycle and enhances the product's market competitiveness.
[0003] In existing technologies, to ensure the safety of flight control / aircraft management (FMU) onboard software, methods that simulate the hardware and operating system environment are commonly used. One common approach is to utilize virtualization technology to construct a virtual hardware and operating system environment, supporting the collaborative design and verification of multi-processor unit partitioning and scheduling within this virtual environment. Another approach involves building a dedicated testing platform to simulate a real hardware and operating system environment for testing and verification of the FMU computer software. These methods all aim to facilitate the research and development and verification of FMU computer software.
[0004] However, these current methods have significant drawbacks. Existing flight control / air traffic management computers employ redundant configurations, with each redundancy using a multi-processing unit design. The complex timing control and data interaction of application partitions lead to immense difficulties in software scheduling and collaborative design and verification. Furthermore, real-world flight control / air traffic management computer software development faces challenges such as limited debugging hardware resources and inconsistent equipment availability. Additionally, various uncontrollable factors exist during laboratory verification, severely impacting the efficiency and quality assurance of UAV software development. Moreover, due to limited hardware resources, fault injection is difficult in real-world flight control / air traffic management computers, and observation methods are limited, making it impossible to effectively conduct scheduling and collaborative design and verification work. Summary of the Invention
[0005] The purpose of this application is to provide a Linux-based system for synchronous operation of real airborne software, which can achieve strict timing synchronization and collaborative operation of redundant real airborne software in a simulation environment.
[0006] Firstly, this application provides a Linux-based real-airborne software synchronous operation system, which adopts the following technical solution: A real-world airborne software synchronous execution system based on Linux, comprising: A container image, which is a packaged Linux operating system, a container runtime environment, redundant synchronous middleware, and real onboard software. The redundant synchronous operation middleware includes a redundancy manager module and a partition simulation module. The redundancy manager module is used to provide a unified clock signal for redundant synchronous scheduling startup and synchronous operation. The partition simulation module is used to implement the time-sharing partitioned operating system function, enabling the real airborne software to achieve redundant synchronous operation and simulation verification in a container environment.
[0007] By adopting the above technical solution, the real airborne software and its dependent environment are encapsulated in a container image, ensuring consistency between the simulation environment and the real operating environment. The redundancy manager module provides a unified synchronization clock signal among multiple containerized redundancy instances, enabling synchronized scheduling, startup, and execution of redundant software. Simultaneously, the partition simulation module performs time-sharing scheduling of application processes within each redundancy instance based on a time scheduling table, simulating the operational behavior of an airborne time-sharing and partitioned operating system. In summary, without relying on dedicated avionics hardware, this solution addresses the difficulty of achieving strict timing synchronization between redundancies and collaborative scheduling within redundancies using existing simulation methods.
[0008] This application further specifies that the container runtime environment is a Docker container runtime environment that uses standard Docker as a software runtime instance.
[0009] By adopting the above technical solution and combining it with the standard Docker container runtime environment, the real onboard software and its dependencies are packaged into a portable container image, ensuring that each redundant instance starts in an isolated and consistent runtime environment, further improving the repeatability and deployment convenience of simulation verification, while being compatible with existing Linux server infrastructure.
[0010] This application further specifies that the partition simulation module implements the functions of a time-sharing partitioned operating system based on the POSIX standard, including partition scheduling and a time-sharing partitioned operating system API.
[0011] By adopting the above technical solution, real airborne software can run each application process in a Linux container according to a preset time window without modification, accurately reproducing the time-sharing and partitioning behavior in the airborne environment, and ensuring the authenticity of simulation verification and scheduling determinism.
[0012] This application further specifies that the redundancy manager module binds the application process of the real onboard software to the CPU core specified by the current redundancy, so as to realize a one-to-one mapping between the application process and the CPU core.
[0013] By adopting the above technical solution, the redundancy manager module binds the application process to the CPU core specified in the current redundancy, realizing a one-to-one mapping between the application process and the CPU core. This avoids scheduling interference from multiple tasks, ensures the timing determinism of partition scheduling within each redundancy, and provides basic support for the strict timing synchronization and collaborative operation of redundant real airborne software in the simulation environment.
[0014] This application further provides that the redundancy manager module provides the function of starting and stopping application processes within the redundancy.
[0015] By adopting the above technical solution, the redundancy manager module can start or stop application processes within the redundancy as needed. With the help of a unified clock signal and time scheduling table, it can precisely control the execution timing of each application process and ensure the coordination and consistency between partition scheduling within the redundancy and synchronous operation between redundancies.
[0016] Secondly, this application provides a method for synchronously running real airborne software based on Linux, applied to the aforementioned system for synchronously running real airborne software based on Linux, and adopts the following technical solution: Running the container image, the redundant synchronization clock signal and time-sharing scheduling function are provided by the redundant synchronization middleware, enabling the real airborne software to achieve redundant synchronous operation and simulation verification in the container environment.
[0017] By adopting the above technical solutions, after running the container image, the redundancy synchronization clock signal can provide a unified time reference for the real onboard software of each redundancy, avoiding the problem of asynchronous operation caused by clock differences; while the time-sharing and partitioning scheduling function strategically divides resources in time and space, ensuring that application processes of different redundancies run independently in their respective allocated time slices and resource partitions, effectively isolating resource competition between redundancies, and further ensuring the stability and synchronization accuracy of real onboard software running in redundancy in the container environment.
[0018] In a preferred embodiment, this application can be further configured as follows: the step of running the container image, providing a redundancy synchronization clock signal and time-sharing / partitioning scheduling function through the redundancy synchronization middleware, enabling the real airborne software to achieve redundancy synchronization operation and simulation verification in the container environment, includes: During the simulation of the real airborne software, the redundancy manager module simulates the synchronization and time scheduling of the redundancy system, and sets the simulation frame scheduling step time according to the timing settings of the host computer, so as to realize the synchronous scheduling start and synchronous operation between redundancies. The partition simulation module provides a time-sharing partition scheduling function based on a time scheduling table within each running instance to support the sequential execution of multiple applications within a preset time window.
[0019] By adopting the above technical solution, the redundancy manager module uniformly controls the starting point of the scheduling cycle of each redundancy instance according to the simulation frame scheduling step time set by the host computer, ensuring that all redundancies start and run synchronously under the same time base; at the same time, the partition simulation module schedules and executes multiple application processes sequentially within each redundancy instance according to the time scheduling table within a preset time window, and the total duration of each window strictly matches the frame synchronization cycle, realizing precise time synchronization and application scheduling coordination between redundancies.
[0020] In a preferred embodiment, this application can be further configured as follows: during the simulation of the real airborne software, the redundancy manager module simulates redundancy system synchronization and time scheduling, and sets the simulation frame scheduling step time according to the timing settings of the host computer, so as to realize the steps of starting and running synchronous scheduling between redundancies, including: The redundancy manager module starts multiple redundancy instances of the real airborne software according to the multi-processor unit redundancy configuration, and binds each redundancy instance to a specified CPU core of the server. The redundancy manager module provides a unified clock signal for the redundancy synchronization scheduling startup and synchronous operation of all application processes of the real airborne software, so as to realize the synchronous scheduling startup and synchronous operation among redundancies.
[0021] By adopting the above technical solution, the redundancy manager module eliminates scheduling interference by binding redundancy instances to designated CPU cores and coordinates the startup and runtime sequence of each redundancy instance based on a unified clock signal, ensuring that all application processes execute under a consistent time base, thereby achieving strict timing synchronization and collaborative operation of redundant real airborne software in the simulation environment.
[0022] In a preferred embodiment, this application can be further configured such that: the redundancy manager module provides a unified clock signal for the redundancy synchronization scheduling startup and synchronous operation of all application processes of the actual airborne software, so as to realize the steps of synchronous scheduling startup and synchronous operation among redundancies, including: The redundancy manager module cyclically checks whether it has received the synchronization ready message sent by the application scheduling management of all redundancies. If it has not received it, it starts a timeout timer and continues to wait for the synchronization ready message. If the redundancy manager module receives a synchronization ready message from all redundancies or a timeout timer is triggered, it starts a synchronization timer, sets the main frame running time for each redundancy, and sends a synchronization signal to the application scheduling management of each redundancy when the synchronization timer expires, so as to realize the synchronous scheduling start and synchronous operation among multiple redundancies.
[0023] By adopting the above technical solution, the redundancy manager module waits for the synchronization ready messages sent by the scheduling management of each redundancy application, and triggers a synchronization signal uniformly after all redundancies are ready or timeout, ensuring that all redundancies are strictly aligned at the start of the main frame. This avoids the running phase deviation caused by the initialization delay of individual redundancies. Combined with the uniformly set main frame running time, each redundancy instance can achieve deterministic synchronous scheduling start-up and periodic synchronous operation in the simulation environment, effectively ensuring the timing consistency and collaborative reliability of the multi-redundancy real airborne software operation.
[0024] In a preferred embodiment, this application can be further configured such that: the partition simulation module provides a time-sharing partition scheduling function based on a time scheduling table within each running instance, to support the sequential execution of multiple applications within a preset time window, including: The partition simulation module is based on the POSIX standard interface provided by the Linux system. It provides a time-sharing partition scheduling function based on a time scheduling table within each running instance. The time scheduling table is configured with the execution order and execution time of each application process within each redundancy, and the sum of the execution times of all application processes is equal to the frame synchronization signal period provided by the redundancy manager module. At the beginning of each scheduling cycle, the partition simulation module sends a synchronization ready notification to the redundancy manager module and waits to receive a scheduling start command from the redundancy manager module. In response to receiving the scheduling start instruction, the partition simulation module schedules each application process sequentially according to the time scheduling table, pauses the execution of the current application process at the end of each time window, and switches to the application process corresponding to the next time window.
[0025] By adopting the above technical solution, the partition simulation module actively performs a synchronization handshake with the redundancy manager module at the beginning of each scheduling cycle, ensuring that local scheduling only begins after the global synchronization signal is confirmed, thus avoiding phase shift caused by premature execution within the redundancy. At the same time, the execution duration and switching timing of each application process are strictly controlled according to the time scheduling table, and the sum of all time windows is precisely aligned with the frame synchronization cycle. This achieves dual determinism of time-sharing partitioning behavior within the redundancy and synchronous operation between redundancies in the Linux container environment, ensuring strict timing synchronization and functional consistency of the simulation operation of multi-redundancy real airborne software.
[0026] In summary, this application has the following beneficial technical effects: 1. This application uses the redundancy manager module to coordinate the synchronization readiness status of each redundancy and issue synchronization signals, thereby achieving strict synchronous startup and periodic alignment of multiple redundancy instances in the simulation environment.
[0027] 2. This application uses a partition simulation module to precisely control the execution sequence of each application process according to the time scheduling table, ensuring that the time-sharing partitioning behavior within the margin strictly matches the frame synchronization period.
[0028] 3. This application effectively isolates scheduling interference and ensures the timing determinism and coordination consistency of redundant software operation by binding the application process to a specified CPU core and controlling its start and stop by the redundancy manager. Attached Figure Description
[0029] Figure 1 This is a schematic diagram of the structure of a real airborne software synchronization system based on Linux, according to one embodiment of this application.
[0030] Figure 2 This is a schematic diagram of the redundancy manager module performing redundancy synchronization scheduling in a container image according to one embodiment of this application.
[0031] Figure 3 This is a schematic diagram of the time-sharing partition scheduling structure of the partition simulation module in one embodiment of this application.
[0032] Figure 4 This is a flowchart of a method for synchronous operation of real airborne software based on Linux in one embodiment of this application.
[0033] Figure 5 This is a flowchart of a sub-step of step S1 in one embodiment of this application.
[0034] Figure 6 This is a flowchart of a sub-step of step S10 in one embodiment of this application.
[0035] Figure 7 This is a flowchart of a sub-step of step S101 in one embodiment of this application.
[0036] Figure 8 This is a flowchart of a sub-step of step S11 in one embodiment of this application. Detailed Implementation
[0037] The following is in conjunction with the appendix Figure 1-8 This application will be described in further detail.
[0038] It should be noted that all actions involving the acquisition of data or information in this application are carried out in accordance with the relevant data protection laws and policies of the country where the application is located, and with the authorization of the relevant users.
[0039] refer to Figures 1 to 3A Linux-based system for synchronously running real airborne software includes a container image. The container image is a packaged system consisting of a Linux operating system, a container runtime environment, redundant synchronous middleware, and real airborne software, which can be flight control / aircraft management computer software. The software functional hierarchy, from bottom to top, is: operating system layer (Linux), Docker container runtime environment, redundant synchronous middleware, and flight control / aircraft management computer software (real airborne software). This system leverages the underlying computing resources and process management provided by the Linux operating system to achieve isolated deployment and on-demand resource allocation of the real airborne software through the Docker container runtime environment. The redundant synchronous middleware then performs clock synchronization, data consistency verification, and operational status monitoring for the software instances within each container. Ultimately, this ensures that the flight control / aircraft management computer software can work stably, reliably, and in real-time under a unified scheduling mechanism, just as it would in a real airborne hardware environment, effectively solving the timing coordination and data interaction problems between different software modules.
[0040] The system also includes a redundancy synchronization operation middleware. This middleware comprises a redundancy manager module and a partition simulation module. The redundancy manager module provides a unified clock signal for the startup and operation of redundancy synchronization scheduling, enabling the synchronous startup and operation of redundancy software. The partition simulation module implements the functions of a time-sharing partitioned operating system, simulating the operational behavior of an airborne time-sharing partitioned operating system. This provides a simulation method for the synchronous scheduling and operation of redundancy software, simulating the operation of multi-processor unit partitions. Thus, without relying on dedicated avionics hardware, it solves the problem of existing simulation methods' difficulty in achieving strict timing synchronization between redundancies and collaborative scheduling within redundancy partitions.
[0041] Furthermore, the container runtime environment is a Docker container runtime environment that uses standard Docker as the encapsulation of software runtime instances. The standard Docker container runtime environment has the characteristics of lightweight virtualization, which can provide an independent and isolated environment for each software runtime instance with relatively small resource overhead, avoiding mutual interference between different instances; at the same time, the standardized packaging format of Docker containers can ensure consistent deployment of software in different environments, simplifying the process of porting and expanding software instances.
[0042] Docker container runtime environments can encapsulate real airborne software and its dependencies into portable container images, ensuring that each redundant instance starts in an isolated and consistent runtime environment, further improving the repeatability and ease of deployment of simulation verification. At the same time, it is compatible with existing Linux server infrastructure, so there is no need to make additional adaptations or modifications to dedicated avionics hardware. The computing resources of general-purpose Linux servers can be fully utilized to build a simulation environment, which greatly reduces the hardware cost investment for simulation verification.
[0043] Furthermore, the partition simulation module implements the time-sharing partitioned operating system function based on the POSIX standard. The POSIX standard ensures cross-platform compatibility, the standardized interface simplifies development and maintenance, supports multi-task time-sharing scheduling, enriches the toolchain to reduce implementation difficulty, and improves system reliability and portability.
[0044] The partition simulation module includes partition scheduling and a time-sharing partitioned operating system API. Partition scheduling activates corresponding application processes sequentially within a preset time window based on a time schedule table, pausing the current process and switching to the next process when the window ends. The time-sharing partitioned operating system API provides a POSIX-compliant runtime interface for real airborne software, allowing it to call necessary system services in a Linux container environment without modification. This accurately replicates partitioned operation behavior in an airborne environment, ensuring the realism and deterministic nature of the simulation verification and scheduling. In this embodiment, the flight control / airborne computer software is mapped to flight control / airborne computer partition software in the partition simulation module.
[0045] Furthermore, the redundancy manager module binds the application processes of the real airborne software to the CPU cores specified for the current redundancy, thereby achieving a one-to-one mapping between application processes and CPU cores. This avoids multiple application processes competing for the same CPU resources and eliminates the impact of operating system scheduling uncertainties on timing. At the same time, it ensures that each redundancy instance exclusively occupies the specified computing resources, improving the determinism and predictability of scheduling execution. This provides underlying support for the redundancy flight control / flight management software to achieve strict time synchronization and stable collaborative operation in the simulation environment.
[0046] Furthermore, the redundancy manager module provides the function of starting and stopping application processes within the redundancy, so as to start or stop application processes within the redundancy as needed. With the unified clock signal and time scheduling table, it can accurately control the execution timing of each application process and ensure the coordination and consistency of partition scheduling within the redundancy and synchronous operation between redundancies.
[0047] refer to Figure 4 A method for synchronously running real airborne software based on Linux, applied to the aforementioned system for synchronously running real airborne software based on Linux, specifically includes: S1. Run the container image and provide redundant synchronization clock signals and time-sharing and partitioning scheduling functions through the redundant synchronization middleware, so that the real airborne software can achieve redundant synchronous operation and simulation verification in the container environment.
[0048] Specifically, after running the container image, the system starts multiple redundancy instances of real airborne software deployed in the container image according to the redundancy configuration of the multi-processor unit. The redundancy synchronization clock signal can provide a unified time base for the real airborne software of each redundancy, thereby avoiding the problem of asynchronous operation caused by clock differences and solving the problem of the difficulty of software scheduling collaborative design and verification. The time-sharing and partitioning scheduling function divides the resources in time and space according to the preset strategy, ensuring that the application processes of different redundancies run independently in their respective allocated time slices and resource partitions, effectively isolating the resource competition between redundancies, further ensuring the stability and synchronization accuracy of the real airborne software running in the container environment with multiple redundancies, thus ensuring the development efficiency and software quality of UAV software.
[0049] refer to Figure 5 Furthermore, in one embodiment, step S1 is refined into the following sub-steps: S10. During the simulation of the real airborne software, the redundancy manager module simulates the synchronization and time scheduling of the redundancy system, and sets the simulation frame scheduling step time according to the timing settings of the host computer, so as to realize the synchronous scheduling start and synchronous operation between redundancies.
[0050] Specifically, the redundancy manager module uniformly controls the starting point of the scheduling cycle of each redundancy instance according to the simulation frame scheduling step time set by the host computer, thereby realizing clock synchronization and consistent execution pace among multiple redundancy instances, avoiding data interaction anomalies caused by time base deviation, ensuring the consistency and reliability of the running status of each redundancy in the simulation environment, and providing accurate time base support for the subsequent collaborative verification of the redundancy system.
[0051] S11. The partition simulation module provides a time-sharing partition scheduling function based on a time scheduling table within each running instance to support the sequential execution of multiple applications within a preset time window.
[0052] Specifically, within each redundancy instance, the partition simulation module schedules and executes multiple application processes sequentially within a preset time window according to a preset time schedule table. This reflects the time determinism and isolation of time-sharing partition scheduling, prevents interference between applications through strict time window division, ensures the execution order of tasks, and meets the requirements of airborne software for high reliability and real-time performance, providing a stable scheduling mechanism for the collaborative operation of redundancy systems.
[0053] In addition, refer to Figure 6 Furthermore, in one embodiment, step S10 is refined into the following sub-steps: The S100 redundancy manager module starts multiple redundancy instances of the real airborne software according to the multi-processor unit redundancy configuration, and binds each redundancy instance to a specified CPU core of the server.
[0054] Specifically, the redundancy manager module allocates independent CPU core resources to each redundancy instance based on the multi-processor unit hardware configuration table. It achieves rigid binding between processes and physical cores through the CPU affinity mechanism of the Linux kernel, avoiding the uncertainty of execution latency caused by cross-core scheduling, ensuring the consistency and isolation of the running environment of each redundancy instance, and meeting the high reliability requirements of the onboard software for the processing unit.
[0055] S101, the redundancy manager module provides a unified clock signal for the synchronous scheduling and operation of redundancy for all real airborne software application processes, so as to realize the synchronous scheduling and operation of redundancy.
[0056] Specifically, the redundancy manager module generates a high-precision unified clock signal to synchronously trigger the scheduling and startup of application processes in all redundancy instances, ensuring that the execution pace of each process is consistent on the time axis, eliminating data interaction deviations caused by clock drift, providing an accurate time reference for the collaborative operation of the redundancy system, and ensuring the accuracy and reliability of simulation verification.
[0057] In addition, refer to Figure 7 Furthermore, in one embodiment, step S101 is refined into the following sub-steps: S1010: The redundancy manager module continuously checks whether it has received synchronization ready messages from the application scheduling management of all redundancies. If it has not received any, it starts a timeout timer and continues to wait for synchronization ready messages.
[0058] Specifically, in the redundancy scheduling management, the redundancy manager module polls the status of each redundancy node at a fixed period. When it detects that not all synchronization ready messages have been received, it triggers a timeout timer. During the operation, it continuously listens to the message queue, waiting for synchronization ready messages until it receives a synchronization ready message.
[0059] S1011 If the redundancy manager module receives a synchronization ready message from all redundancies or a timeout timer is triggered, it starts the synchronization timer. After setting the main frame running time for each redundancy, it sends a synchronization signal to the application scheduling management of each redundancy when the synchronization timer expires, so as to realize the synchronous scheduling start and synchronous operation among multiple redundancies.
[0060] Specifically, after the redundancy manager module initiates application scheduling in the redundancy scheduling management, it starts the application in the application scheduling management and loads the time schedule table. After the time frame begins, it reports a synchronization ready message to the redundancy scheduling management that is waiting for the synchronization ready message. When all redundancies receive a synchronization ready message, or when a timeout timer is triggered, a synchronization timer is triggered to send a synchronization signal. After receiving the synchronization signal, the application scheduling management schedules the application process until the start of the next time frame, ensuring that all redundancies are strictly aligned at the start of the main frame to avoid operational phase deviations caused by initialization delays of individual redundancies. Furthermore, combined with a uniformly set main frame runtime, each redundancy instance can achieve deterministic synchronization scheduling startup and periodic synchronization operation in the simulation environment, thereby ensuring a high degree of consistency and collaborative reliability in the timing of the multi-redundancy real airborne software operation.
[0061] In addition, refer to Figure 8 Furthermore, in one embodiment, step S11 is refined into the following sub-steps: S110, the partition simulation module is based on the POSIX standard interface provided by the Linux system. It provides time-sharing partition scheduling function based on the time scheduling table within each running instance. The time scheduling table is configured with the execution order and execution time of each application process within each redundancy, and the sum of the execution times of all application processes is equal to the frame synchronization signal period provided by the redundancy manager module.
[0062] Specifically, after receiving the frame synchronization signal from the redundancy manager, the partition simulation module parses the time scheduling table, activates the application processes in the configured order within each frame synchronization cycle, allocates CPU time slices through the POSIX thread scheduling interface, monitors the process execution time in real time to ensure that it does not exceed the preset time, and waits for the next frame synchronization signal after all processes have finished executing, forming a periodic scheduling closed loop to ensure time consistency between redundancies.
[0063] S111. At the beginning of each scheduling cycle, the partition simulation module sends a synchronization ready notification to the redundancy manager module and waits to receive the scheduling start instruction from the redundancy manager module.
[0064] Specifically, the partition simulation module ensures that the redundancy manager module keeps track of the status of each node in real time by sending synchronization ready notifications. Through unified scheduling and startup command control, it can effectively avoid the problem of execution asynchrony caused by startup timing deviations between redundancies, significantly improve the consistency of system time, and ensure the stability and reliability of real airborne software running in a redundancy environment.
[0065] S112. In response to receiving the scheduling start command, the partition simulation module schedules each application process sequentially according to the time scheduling table, pauses the execution of the current application process at the end of each time window, and switches to the application process corresponding to the next time window.
[0066] Specifically, the partition simulation module executes application processes in strict accordance with the time schedule, pausing the current process and switching to the next process directly at the time window boundary. Furthermore, the sum of all time windows is aligned with the frame synchronization period, which effectively avoids resource contention conflicts between processes and ensures that each application process executes according to the preset timing. This achieves dual determinism in the Linux container environment, namely, time-sharing partitioning behavior within redundancy and synchronous operation between redundancies. As a result, it ensures strict timing synchronization and functional consistency of the simulation of redundant real airborne software.
[0067] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0068] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
[0069] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is used as an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above.
Claims
1. A Linux-based real on-board software synchronization running system, characterized in that, The application relates to a container image, a redundancy synchronous running middleware and a real airborne software. The container running environment is a Docker container running environment encapsulated by using a standard Docker as a software running instance. The partition simulation module provides a time-sharing partition scheduling function based on a POSIX standard, and the time-sharing partition scheduling function comprises a partition scheduling and a POSIX API.
2. The system of claim 1, wherein, The redundancy manager module binds application processes of the real airborne software to CPU cores specified by current redundancy, so that one-to-one mapping of the application processes and the CPU cores is realized.
3. The system of claim 1, wherein, The redundancy manager module provides functions of starting and stopping application processes in redundancy.
4. The system of claim 1, wherein, The application also relates to a method for running the container image.
5. The system of claim 1, wherein, The method comprises the following steps:
6. A method for synchronously running Linux-based real airborne software, applied to the Linux-based real airborne software synchronous running system in claims 1-5, characterized in that, In the simulation process of the real airborne software, the redundancy manager module simulates redundancy system synchronization and time scheduling, and sets a simulation frame scheduling step time according to a host computer mode time sequence setting, so that synchronous scheduling starting and synchronous running among redundancies are realized. The partition simulation module provides a time-sharing partition scheduling function based on a time scheduling table in each running instance, so that a plurality of applications can be executed in a preset time window.
7. The method of claim 6, wherein, The redundancy manager module starts a plurality of redundancy instances of the real airborne software according to a multi-processing unit redundancy configuration, and binds each redundancy instance to a specified CPU core of a server. The redundancy manager module provides synchronous scheduling starting and synchronous running unified clock signals for application processes of all the real airborne software, so that synchronous scheduling starting and synchronous running among redundancies are realized. The redundancy manager module provides synchronous scheduling starting and synchronous running unified clock signals for application processes of all the real airborne software, so that synchronous scheduling starting and synchronous running among redundancies are realized.
8. The method of claim 7, wherein, 9. The method of claim 8, wherein, The redundancy manager module cyclically detects whether all the application scheduling management sent synchronization ready messages of all the redundancies are received, and if not, starts a timeout timer and continues to wait for the synchronization ready messages; If the redundancy manager module receives all the synchronization ready messages of all the redundancies or the timeout timer triggers, it starts a synchronization timer, sets the main frame running time of each redundancy, and after the setting is completed, sends a synchronization signal to the application scheduling management of each redundancy when the synchronization timer time is up, to realize the synchronization scheduling start and synchronization running among the redundancies.
10. The method of claim 6, wherein, The partition simulation module provides a time partition scheduling function based on a time scheduling table within each running instance to support the steps of sequentially executing a plurality of applications within a preset time window, including: The partition simulation module provides a time partition scheduling function based on a time scheduling table within each running instance based on the POSIX standard interface provided by the Linux system, wherein the execution order and execution time of each application process in each redundancy are configured in the time scheduling table, and the sum of the execution times of all application processes is equal to the frame synchronization signal period provided by the redundancy manager module; At the beginning of each scheduling period, the partition simulation module sends a synchronization ready notification to the redundancy manager module and waits to receive a scheduling start instruction from the redundancy manager module; In response to receiving the scheduling start instruction, the partition simulation module sequentially schedules each application process according to the time scheduling table, suspends the execution of the current application process at the end of each time window, and switches to the application process corresponding to the next time window.