Time partitioned scheduling method, system, device and medium for mixed critical systems
Patent Information
- Application Number
- CN202610820232.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-08
- Publication Date
- 2026-08-28
AI Technical Summary
[0003]现有实时操作系统(RTOS)多采用固定时间分区或静态优先级调度策略,任务执行预算在系统初始化阶段完成分配,运行过程中难以动态调整
本发明的方法通过为最高优先级任务动态分配额外执行时间,能够在任务剩余预算不足且未完成执行时,精准计算并补充所需的执行资源,避免高关键性任务因预算耗尽而出现执行中断、计算超时或调度异常,有效提升系统的执行确定性与可靠性。
Smart Images

Figure CN122653781A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of industrial time scheduling technology, and specifically relates to time partitioning scheduling methods, systems, equipment and media for hybrid critical systems. Background Technology
[0002] In scenarios such as industrial control, robotics, and smart substation gateways, a single hardware computing platform often needs to simultaneously handle multiple workloads with different real-time requirements: these include hard real-time control tasks that are extremely sensitive to latency and jitter (such as servo motor FOC control and joint motion control), soft real-time tasks that have certain requirements for response speed (such as industrial protocol stack processing such as EtherCAT and Modbus), and high-throughput tasks that have lower real-time requirements but large data volumes and consume a lot of computing resources (such as log uploading, status monitoring, edge inference, and data synchronization). Systems with this coexistence of mixed critical workloads need to ensure that critical control tasks do not miss deadlines while also allocating resources reasonably to ensure the normal execution of non-critical tasks, placing extremely high demands on the operating system's scheduling mechanism.
[0003] Existing real-time operating systems (RTOS) mostly employ fixed-time partitioning or static priority scheduling strategies, with task execution budgets allocated during system initialization and difficult to dynamically adjust during operation. When hard real-time tasks exceed the preset budget due to sudden changes in operating conditions, external disturbances, or complex calculations (such as handling robot singularities or iterative control algorithms), situations can easily arise where the remaining execution time is insufficient but the task has not yet been completed. This can lead to task execution interruptions, control cycle timeouts, and in severe cases, equipment malfunctions, abnormal trajectories, or production safety accidents. Summary of the Invention
[0004] To address the problems in the background art, this invention proposes a time-partitioned scheduling method, system, device, and medium for hybrid critical systems.
[0005] To achieve the above objectives, the present invention adopts the following technical solution: In a first aspect, the present invention proposes a time-partitioned scheduling method for a hybrid critical system, characterized by comprising: Based on a pre-built time partition scheduling table, determine the highest priority task in the corresponding partition within the current time window; The instruction executes the highest priority task; When the remaining budget time of the highest priority task is less than the preset safety time threshold, and the highest priority task has not been completed, additional execution time is allocated to the highest priority task.
[0006] Preferably, the construction of the time-partitioned scheduling table specifically includes: Obtain the task level for each task, and construct a partitioning model based on the task level; wherein, the partitioning model includes several partitions; Obtain the execution budget for each task, and allocate a periodic budget for each partition based on the execution budget; The main scheduling cycle is determined based on the cycle budget of all partitions; The main scheduling cycle is divided into several sub-time windows, and a sub-time window is allocated to each partition based on the cycle budget of each partition, thus obtaining a time partition scheduling table.
[0007] Preferably, determining the highest priority task in the corresponding partition within the current time window based on a pre-built time partition scheduling table specifically includes: Determine the partition corresponding to the current time window; Within the partition corresponding to the current time window, the highest priority task is determined based on a pre-constructed multi-level bitmap.
[0008] Preferably, the multi-level bitmap is a two-level bitmap; wherein, the two-level bitmap includes a first-level bitmap and a second-level bitmap; The process of determining the highest priority task based on a pre-built multi-level bitmap specifically includes: In the first-level bitmap, the highest priority group of tasks is identified; In the secondary bitmap corresponding to the highest priority group, the highest priority task is determined.
[0009] Preferably, allocating additional execution time to the highest priority task specifically includes: Calculate the additional execution time required to complete the highest priority task; Obtain the lifecycle status of each partition, and based on the lifecycle status of each partition, determine the low-priority tasks whose task level is lower than the highest priority task; Based on the additional execution time, determine the borrowed budget amount for the low-priority task; The borrowed budget amount is allocated as additional execution time to the highest priority task.
[0010] Preferably, calculating the additional execution time required to complete the highest priority task specifically includes: Obtain the historical execution time of the highest priority task several times, and calculate the standard deviation of the historical execution time of the highest priority task several times; Obtain the preset worst-case execution budget and the current remaining budget time corresponding to the highest priority task; The additional execution time required to complete the highest priority task is calculated based on the preset sensitivity coefficient, the standard deviation, the preset worst-case execution budget, and the current remaining budget time.
[0011] Preferably, the sub-time window is the partition corresponding to the low-priority task whose borrowed budget is less than or equal to the preset budget coefficient.
[0012] Secondly, the present invention also proposes a time-partitioned scheduling system for hybrid critical systems, comprising: The highest priority task determination module is used to determine the highest priority task in the corresponding partition within the current time window based on a pre-built time partition scheduling table. The execution module is used to instruct the execution of the highest priority task; The time allocation module is used to allocate additional execution time to the highest priority task when the remaining budget time of the highest priority task is less than a preset safety time threshold and the highest priority task has not been completed.
[0013] Thirdly, the present invention also proposes an apparatus including a memory and a processor, wherein the memory stores computer instructions that can be executed on the processor, and the processor executes the time partitioning scheduling method for a hybrid critical system described in the first aspect when executing the computer instructions.
[0014] Fourthly, the present invention also proposes a computer-readable storage medium storing computer instructions thereon, which, when executed, can implement the time-partition scheduling method for a hybrid critical system described in the first aspect.
[0015] The beneficial effects of this invention are: The method of the present invention dynamically allocates additional execution time to the highest priority tasks, which can accurately calculate and supplement the required execution resources when the remaining budget of the task is insufficient and the execution is not completed. This avoids high-critical tasks from being interrupted, timed out or scheduled due to budget exhaustion, and effectively improves the execution determinism and reliability of the system.
[0016] Other features and advantages of the invention will be set forth in the following description, and will be apparent in part from the description, or may be learned by practicing the invention. The objects and other advantages of the invention may be realized and obtained by means of the structures pointed out in the description and the drawings. Attached Figure Description
[0017] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 A flowchart of a time-partition scheduling method for a hybrid critical system according to the present invention is shown. Detailed Implementation
[0019] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0020] Reference Figure 1 As shown, a time-partitioning scheduling method for a hybrid critical system specifically includes the following steps: S10. Based on the pre-built time partition scheduling table, determine the highest priority task of the corresponding partition in the current time window; S20, the instruction executes the highest priority task; S30. When the remaining budget time of the highest priority task is less than the preset safe time threshold, and the highest priority task has not been completed, allocate additional execution time to the highest priority task.
[0021] This invention dynamically allocates additional execution time to the highest priority tasks, enabling precise calculation and replenishment of required execution resources when the remaining budget for a task is insufficient and execution is incomplete. This avoids execution interruptions, computation timeouts, or scheduling anomalies in highly critical tasks due to budget exhaustion, effectively improving the system's execution determinism and reliability.
[0022] In step S10 above, the time-partition scheduling table is constructed, which specifically includes the following steps: S1011. Obtain the task level for each task and construct a partitioning model based on the task level; wherein, the partitioning model includes several partitions; Specifically, task levels include criticality level and priority. After obtaining the task level and execution budget for each task, tasks are assigned to corresponding partitions based on their criticality level, with tasks of the same criticality level grouped into the same partition. For example, in an avionics system, flight control tasks (criticality level A) are assigned to partition P1, navigation tasks (criticality level B) to partition P2, communication tasks (criticality level C) to partition P3, and logging tasks (criticality level D) to partition P4. Furthermore, the execution order of tasks within a partition is determined based on priority, thereby dividing all tasks into several independent partitions to form a partition model. Each partition corresponds to a set of tasks, achieving isolation between tasks of different levels and functions, avoiding mutual interference between tasks, and ensuring the execution safety of high-level tasks.
[0023] S1012. Obtain the execution budget for each task, and allocate a periodic budget to each partition based on the execution budget; The execution budget refers to the minimum time required for a single task to complete a full execution.
[0024] The execution budget refers to the minimum time required for a single task to complete a full execution. It is a core time parameter that characterizes the task's computational requirements, logical flow, and hardware execution overhead. It describes the minimum processor time required for a task to complete a full function under ideal operating conditions. It does not include additional delays caused by external interference, preemption interrupts, and exception handling. It is the basis for carrying out time partitioning configuration and resource allocation.
[0025] The periodic budget for each partition is the product of the sum of the execution budgets of all tasks within that partition and a safety factor. The safety factor is typically between 1.1 and 1.3 to accommodate normal fluctuations in execution time. For example, if partition P1 contains tasks T1 (execution budget 10ms) and T2 (execution budget 15ms), then the periodic budget for partition P1 is (10+15)×1.2=30ms.
[0026] S1013. Determine the main scheduling cycle based on the cycle budget of all partitions; The main scheduling period is the least common multiple of the period budgets of all partitions. For example, if the period budgets of partitions P1, P2, P3, and P4 are 30ms, 50ms, 100ms, and 200ms respectively, then the main scheduling period is 600ms.
[0027] S1014. Divide the main scheduling cycle into several sub-time windows, and allocate sub-time windows to each partition based on the cycle budget of each partition to obtain the time partition scheduling table. First, the main scheduling period is divided into several non-overlapping minor frames. The total duration of each minor frame is equal to the main scheduling period. Each minor frame corresponds to the dedicated execution time of a partition, preventing the execution times of different partitions from overlapping and achieving partition-isolated scheduling. Then, minor frames are allocated to each partition based on its period budget. The size of each minor frame is greater than or equal to the period budget of that partition; generally, the size of each minor frame equals the period budget. For example, within a 600ms main scheduling period, partition P1 is allocated 3 minor frames (30ms each), partition P2 is allocated 2 minor frames (50ms each), partition P3 is allocated 1 minor frame (100ms), and partition P4 is allocated 1 minor frame (200ms).
[0028] The allocation order of sub-time windows prioritizes the task level from high to low, ensuring that high-task-level partitions receive execution resources first.
[0029] In step S10 above, based on the pre-built time partition scheduling table, the highest priority task of the corresponding partition within the current time window is determined, specifically including the following steps: S1021. Determine the partition corresponding to the current time window; S1022. Within the partition corresponding to the current time window, determine the highest priority task based on the pre-built multi-level bitmap; In one specific embodiment, the multi-level bitmap is a two-level bitmap; wherein, the two-level bitmap includes a first-level bitmap and a second-level bitmap.
[0030] Based on a pre-built multi-level bitmap, the highest priority task is determined, which includes the following steps: S10221. In the first-level bitmap, identify the highest priority group of existing tasks; S10222. In the secondary bitmap corresponding to the highest priority group, determine the highest priority task.
[0031] The first-level bitmap is used to identify priority groups, and the second-level bitmap is used to identify specific tasks within each priority group. Specifically, each bit in each bitmap corresponds to a priority group or a task. A bit value of "1" indicates that there is a task in the corresponding priority group or that the corresponding task is ready, while a bit value of "0" indicates that there is no task in the corresponding priority group or that the corresponding task is not ready. During the construction process, based on the priority of each task, its specific position in the multi-level bitmap is determined, and the corresponding bit is set to "1", thus completing the construction of the multi-level bitmap.
[0032] When determining the highest priority task, the system traverses the secondary bitmap, starting from the bit corresponding to the highest priority, to quickly locate the highest priority task that is currently in the ready state. Compared with the traditional traversal search method, this method can significantly improve the search efficiency of the highest priority task and ensure the real-time performance of system scheduling.
[0033] In a specific embodiment, the first-level bitmap is 64 bits, corresponding to 64 priority groups, and each priority group corresponds to 64 specific priorities. The second-level bitmap is 64 bits / group, corresponding to 64 tasks within each priority group. The priority of a task = priority group number × 64 + bit number within the group. The larger the value, the higher the priority. Taking the ARM Cortex-R52 processor as an example, the CLZ instruction is used to calculate the number of leading zeros in L1. Let L1 = 0bXXX, and the CLZ return value be z. Then the bit index of the first 1 is (63-z). Since the larger the priority value, the higher the priority, CLZ starts scanning from the high-order bit (bit 63), so it finds the highest priority group. For example, if the 60th bit of L1 is 1 and the higher bits are 0, then CLZ returns 63-60=3, and index i=60. The group corresponding to this index contains priorities (60<<6) = 3840 to 3903. After obtaining the second-level bitmap L2[i], the CLZ instruction is also used to find the bit index j of the first 1 in this group (counting from the high-order bit). For example, if the 55th bit of L2[i] is 1 and the higher bits are 0, then CLZ returns 63-55=8, j=55. The final priority is 64*60+55=3895. Then, the task at the head of the ready queue with priority 3895 is taken and executed.
[0034] As can be seen, in a bilevel bitmap, regardless of the number of tasks, the search complexity satisfies the following condition. This ensures that scheduling overhead is independent of the total number of tasks, where, The total time required to find the highest priority task. The number of clock cycles required to execute one leading zero count (CLZ) instruction. The number of clock cycles required to perform a shift operation. The number of clock cycles required to perform a bitwise OR operation.
[0035] In step S30 above, additional execution time is allocated to the highest priority task, which specifically includes the following steps: S301. Calculate the additional execution time required for the highest priority task to complete; The expression for calculating the additional execution time is: In the formula, For additional execution time, Standard deviation, To pre-determine the worst-case execution budget, For the current remaining budget time, The preset historical execution jitter sensitivity coefficient, This is the preset budget gap sensitivity coefficient. This is the highest priority task.
[0036] Calculate the jitter variance of the historical execution time (e.g., the actual execution time of the last 10 times) for each highest priority task. In the formula, This represents the total number of historical execution time samples collected. Let be the average of n historical execution times. This represents the actual execution time of the task collected in the i-th iteration. It also retrieves the preset worst-case execution budget and the current remaining budget time for this task. A sensitivity coefficient is set. and (For example =1.2, =0.8), then the additional execution time = ×Standard deviation + β ×(Worst-case execution budget) (Current remaining budget). In a specific embodiment, the historical execution time of a highest priority task is [95μs, 98μs, 102μs, 105μs, 110μs], with a mean of 102μs, a variance of 30.8, a standard deviation of approximately 5.55μs, a worst-case execution budget of 120μs, and a current remaining budget of 5μs. Therefore, the additional execution time = 1.2 × 5.55 + 0.8 × (120μs + 110μs). 5) = 6.66 + 92 = 98.66 μs.
[0037] Furthermore, if the calculation result is less than 0, it is set to 0, which means that no time needs to be borrowed. This calculation is only performed when the system detects that the remaining budget time for the highest priority task is less than the safe time threshold and has not been completed.
[0038] S302. Obtain the lifecycle status of each partition, and based on the lifecycle status of each partition, determine the low-priority tasks whose task level is lower than the highest priority task. Lifecycle states refer to the modes a partition may be in during system operation. In a specific embodiment, lifecycle states include NORMAL, CRITICAL, IDLE, and RECOVERY. Initially, all partitions are in the NORMAL lifecycle state. When the remaining budget time of the highest priority task within a partition is less than a preset safe time threshold and the task is not completed, the system switches the partition's lifecycle state to CRITICAL, allowing it to borrow budget from other partitions. When an anomaly occurs, the partition can enter the RECOVERY state to perform a micro-reboot or budget compensation. When no tasks are ready in a partition, it enters the IDLE state. The lifecycle states are dynamically maintained by the kernel based on runtime overrun detection results and task completion status, and are used to control budget borrowing and scheduling behavior between partitions.
[0039] The system iterates through all partitions, checking the lifecycle status of each. If the status is CRITICAL or RECOVERY, it indicates that the partition is currently facing resource shortages or failure risks and its own operation is already stretched thin. Therefore, the system does not need to request borrowing time from it and directly excludes it from the candidate list. When the lifecycle status is in normal mode and the task level of tasks within the partition is lower than the task level of the current highest priority task, the ready tasks within that partition are considered as low-priority tasks that can be borrowed. The remaining budget time of these low-priority tasks will be used for borrowing.
[0040] S303. Determine the borrowed budget amount for low-priority tasks based on the additional execution time; First, sum the remaining budget time of all partitions containing low-priority tasks that can be borrowed. Then, take the minimum of this sum and the additional execution time as the initial borrowed budget amount.
[0041] Furthermore, to prevent excessive starvation in partitions containing low-priority tasks, a borrowing limit is set: borrowing budget amount. ≤γ×sub-time window length, where γ is a preset quota coefficient (e.g., 0.5).
[0042] Final borrowing of budget amount =min(sum of remaining budget for low-priority partitions, additional execution time, γ×sub-time window length).
[0043] In a specific embodiment, the additional execution time is 98.66 μs, the total remaining budget of the low priority partition is 400 μs, the sub-time window length is 500 μs, γ=0.5, then the borrowed budget amount = min(98.66,400,250) = 98.66 μs.
[0044] Excessive starvation refers to a situation in which some low-priority tasks in a system are unable to obtain sufficient CPU execution time for a long time, or even be completely unscheduled, because high-priority tasks repeatedly borrow their budget time, thus preventing them from completing their work.
[0045] In the budget borrowing strategy described above, if the borrowing limit is not restricted, when high-priority tasks frequently exceed the limit, the budget may be repeatedly deprived from low-priority partitions, causing tasks in low-priority partitions (such as log uploads, non-real-time monitoring, etc.) to never get an execution opportunity. Therefore, this method can prevent excessive starvation by setting a borrowing limit, thereby ensuring that in each sub-time window, low-priority tasks reserve at least half of their budget time to execute their own tasks, thus maintaining basic functionality and fairness.
[0046] By limiting the amount of budget borrowed from low-priority tasks, we can prevent high-priority tasks from excessively consuming system resources, ensure that low-priority tasks still have a basic chance of execution, and maintain the balance and fairness of the overall system scheduling.
[0047] S304. Allocate the borrowed budget amount as additional execution time to the highest priority task.
[0048] Specifically, the borrowed budget successfully coordinated from the low-priority partition will be directly converted into physical runtime available for the highest-priority task and added to the original time budget of that task. This ensures that the high-priority task can break through the limitations of its own partition and continue to execute using this extra time until the computation is completed.
[0049] In a specific embodiment, taking a 6-axis robotic arm joint controller as an example, the hardware platform uses an ARM Cortex-R52 processor, and the system contains three different levels of mixed critical workloads: The critical control partition P1 runs the FOC current loop and speed loop control algorithm with a control frequency of 10kHz and a period of 100μs. It is classified as a highly critical HI. Motion planning partition P2 runs inverse kinematics calculation and trajectory interpolation algorithms, with a control frequency of 1kHz, and belongs to the medium-critical MED; The log and cloud synchronization partition P3 runs EtherCAT state machine maintenance and cloud data reporting tasks, and is classified as a low-criticality log (LO).
[0050] During deterministic scheduling, when the 10kHz P1 task becomes ready, the microkernel completes the scheduling using a two-level bitmap algorithm, based on the scheduling lookup time formula. Under the Cortex-R52 architecture, the CLZ instruction takes one clock cycle, and the overall scheduling lookup takes approximately 15 clock cycles. At a 1GHz clock frequency, the lookup time is approximately 15ns. Even with hundreds of low-priority tasks in the system, the location time of the highest-priority task remains constant, resulting in a deterministic jitter of less than 0.1μs for the current loop control. The system sets the major scheduling frame to 1ms, with a time window MF2 budget allocated to the P2 partition of 450μs. When the P2 partition has remaining budget due to singularity resolution... When the system reaches zero and the task is not completed, it triggers a state transition, enters critical assurance mode, and then executes the budget borrowing strategy according to the formula. Calculation, obtained The system allocates 200μs of time budget from partition P3 to partition P2 to ensure that the robotic arm maintains trajectory continuity under complex postures and avoids the risk of physical collision caused by computation timeout.
[0051] Based on the same inventive concept as the above method, this invention also proposes a time-partitioned scheduling system for hybrid critical systems, comprising: The highest priority task determination module is used to determine the highest priority task in the corresponding partition within the current time window based on a pre-built time partition scheduling table. The execution module is used to execute the highest priority task. The time allocation module is used to allocate additional execution time to the highest priority task when the remaining budget time of the highest priority task is less than the preset safe time threshold and the highest priority task has not been completed.
[0052] Based on the same inventive concept as the above method, the present invention also proposes an apparatus including a memory and a processor, wherein the memory stores computer instructions that can be executed on the processor, and the processor executes the above-described time partitioning scheduling method for a hybrid critical system when executing the computer instructions.
[0053] Based on the same inventive concept as the above method, the present invention also proposes a computer-readable storage medium storing computer instructions, which, when executed, can implement the above-described time-partition scheduling method for a hybrid critical system.
[0054] Any references to memory, storage, database, or other media used in the embodiments provided in this invention may include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM) or external cache memory.
[0055] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0056] Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A time-partition scheduling method for a hybrid critical system, characterized in that, include: Based on a pre-built time partition scheduling table, determine the highest priority task in the corresponding partition within the current time window; The instruction executes the highest priority task; When the remaining budget time of the highest priority task is less than the preset safety time threshold, and the highest priority task has not been completed, additional execution time is allocated to the highest priority task.
2. The time-partition scheduling method for a hybrid critical system according to claim 1, characterized in that, The construction of the time-partitioned scheduling table specifically includes: Obtain the task level for each task, and construct a partitioning model based on the task level; wherein, the partitioning model includes several partitions; Obtain the execution budget for each task, and allocate a periodic budget for each partition based on the execution budget; The main scheduling cycle is determined based on the cycle budget of all partitions; The main scheduling cycle is divided into several sub-time windows, and a sub-time window is allocated to each partition based on the cycle budget of each partition, thus obtaining a time partition scheduling table.
3. The time-partition scheduling method for a hybrid critical system according to claim 1, characterized in that, The process of determining the highest priority task in the corresponding partition within the current time window based on a pre-built time partition scheduling table specifically includes: Determine the partition corresponding to the current time window; Within the partition corresponding to the current time window, the highest priority task is determined based on a pre-constructed multi-level bitmap.
4. The time-partition scheduling method for a hybrid critical system according to claim 3, characterized in that, The multi-level bitmap is a two-level bitmap; wherein, the two-level bitmap includes a first-level bitmap and a second-level bitmap; The process of determining the highest priority task based on a pre-built multi-level bitmap specifically includes: In the first-level bitmap, the highest priority group of tasks is identified; In the secondary bitmap corresponding to the highest priority group, the highest priority task is determined.
5. The time-partition scheduling method for a hybrid critical system according to claim 1, characterized in that, Allocating additional execution time to the highest priority task specifically includes: Calculate the additional execution time required to complete the highest priority task; Obtain the lifecycle status of each partition, and based on the lifecycle status of each partition, determine the low-priority tasks whose task level is lower than the highest priority task; Based on the additional execution time, determine the borrowed budget amount for the low-priority task; The borrowed budget amount is allocated as additional execution time to the highest priority task.
6. The time-partition scheduling method for a hybrid critical system according to claim 5, characterized in that, The calculation of the additional execution time required to complete the highest priority task specifically includes: Obtain the historical execution time of the highest priority task several times, and calculate the standard deviation of the historical execution time of the highest priority task several times; Obtain the preset worst-case execution budget and the current remaining budget time corresponding to the highest priority task; The additional execution time required to complete the highest priority task is calculated based on the preset sensitivity coefficient, the standard deviation, the preset worst-case execution budget, and the current remaining budget time.
7. The time-partition scheduling method for a hybrid critical system according to claim 5, characterized in that, The sub-time window of the partition corresponding to the low-priority task whose borrowed budget is less than or equal to the preset budget coefficient.
8. A time-partitioned scheduling system for a hybrid critical system, characterized in that, include: The highest priority task determination module is used to determine the highest priority task in the corresponding partition within the current time window based on a pre-built time partition scheduling table. The execution module is used to instruct the execution of the highest priority task; The time allocation module is used to allocate additional execution time to the highest priority task when the remaining budget time of the highest priority task is less than a preset safety time threshold and the highest priority task has not been completed.
9. A device comprising a memory and a processor, wherein the memory stores computer instructions executable on the processor, characterized in that, When the processor executes the computer instructions, it performs a time-partition scheduling method for a hybrid critical system as described in any one of claims 1 to 7.
10. A computer-readable storage medium storing computer instructions thereon, characterized in that, When the computer instructions are executed, a time-partition scheduling method for a hybrid critical system as described in any one of claims 1 to 7 can be implemented.