A method and system for secure scheduling of partitioned operating systems on heterogeneous multi-core platforms
By dividing resource pools and task types on a heterogeneous multi-core platform, managing processor cores using index tables, and setting up master and standby task sets, the problem of insure of critical tasks execution on a heterogeneous multi-core platform is solved, and the correct execution of critical tasks and system stability is achieved.
Patent Information
- Application Number
- CN202210692953.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-17
- Publication Date
- 2025-08-12
- Estimated Expiration
- 2042-06-17
AI Technical Summary
The prior art cannot ensure the correct execution of critical tasks when partitioning operating system scheduling on heterogeneous multi-core platforms, and there are scheduling uncertainty and system instability.
The heterogeneous multi-core platform partitioned operating system scheduling method is adopted. By dividing the processor core into resource pools by type, managing the processor cores using linked lists with indexed tables, dividing critical and non-critical tasks, and setting up the main and backup version task sets to ensure that the tasks of important partitions switch to the backup task set when errors are made, and reliable scheduling of the heterogeneous multi-core platform is achieved.
The correct execution of critical tasks is achieved, the serious consequences caused by system errors are reduced, the stability and real-time nature of the system are improved, and the critical tasks are completed before the time node.
Smart Images

Figure CN115269136B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of operating system scheduling, and in particular to a method and system for scheduling a partitioned operating system on a heterogeneous multi-core platform. Background Art
[0002] Computer systems are widely used in safety-critical fields such as aerospace. Failures in these systems can have serious consequences, making the establishment of highly reliable computer systems crucial in safety-critical applications. Operating systems, as the most fundamental underlying software in computer systems, are key to building highly reliable systems. Partitioned operating systems, with their fault isolation capabilities, can improve system reliability and have been successfully implemented in a variety of safety-critical systems.
[0003] As heterogeneous multi-core systems are increasingly used in the aerospace sector, many issues related to partitioned operating systems on these platforms urgently require research. Scheduling partitioned operating systems on heterogeneous multi-core systems is a particularly critical issue. Existing methods fail to consider the impact of heterogeneous multi-core systems on partitioned operating system scheduling. Furthermore, some existing approaches implement dynamic partition scheduling during system runtime, introducing scheduling uncertainty and potentially causing system instability.
[0004] During the implementation process, the following application problems need to be solved:
[0005] (1) The maintenance of the partition operating system's security status mainly focuses on periodic integrity checks and performs a large number of system state switches, which cannot guarantee the real-time performance of the operating system;
[0006] (2) Previous studies have performed dynamic partition scheduling during system operation, which introduces scheduling uncertainty and is not conducive to the stable operation of the system; Summary of the Invention
[0007] The technical problem solved by the present invention is: to overcome the shortcomings of the existing technology and provide a heterogeneous multi-core partition operating system scheduling technology, which solves the problem that the existing technology cannot ensure the correct execution of key tasks when performing partition operating system scheduling.
[0008] The technical solution of the present invention is:
[0009] A method for scheduling a partitioned operating system on a heterogeneous multi-core platform includes the following steps:
[0010] Step 1: In the heterogeneous multi-core platform partition operating system, the processor cores are divided into α processor core resource pools RP by type. k , 1≤k≤α; assuming the processor core resource pool Contains β processor cores in, Indicates the processor core number, ν i Indicates the maximum processing performance that can be achieved by the processor core;
[0011] Step 2: Manage the processor cores using a linked list with an index table, i.e., a heterogeneous processor core management table;
[0012] Step 3: Divide the tasks in the heterogeneous multi-core platform partition operating system into critical tasks and non-critical tasks according to their importance; define the partition running the critical tasks in the heterogeneous multi-core platform partition operating system as an important partition, and the other partitions as non-important partitions;
[0013] Step 4: Set the primary version task set and the backup version task set;
[0014] Step 5: Set the partition set Pi in the heterogeneous multi-core platform partition operating system;
[0015] Step 6: Define the tasks and task τ j Processor utilization;
[0016] Step 7: Select the processor resource pool RP according to the task characteristics. k Apply for processor resources, establish a mapping between processors and partitions, and determine whether it is an important partition or a non-important partition;
[0017] Step 8: For important partitions, the heterogeneous multi-core platform partition operating system obtains the right to use the processor core according to the important partition strategy;
[0018] Step 9: For non-important partitions, the heterogeneous multi-core platform partition operating system obtains the right to use the processor core according to the non-important partition strategy;
[0019] Step 10: After the tasks in the partition are finished running, the heterogeneous processor core management table is modified to complete the scheduling of the heterogeneous multi-core platform partition operating system.
[0020] Furthermore, the processor cores are managed using a heterogeneous processor core management table, including:
[0021] (1) The index table header ranges from 1 to α, indicating that there are α types of processor cores with different processing speeds in the heterogeneous multi-core platform, and the performance of the processor cores decreases from 1 to α;
[0022] (2) The index table header points to a processor group index table, which records the performance of this type of processor, the number of processor cores of this type, and the number of available processor cores;
[0023] (3) The header pointer points to a doubly linked list structure consisting of processor state tables. Each processor core has a corresponding processor state table. Available processor cores are arranged at the front of the linked list, and fully occupied processor cores are arranged at the back.
[0024] (4) The processor status table records the processor core identification number, the processor core available flag, the number of partitions running on this processor, and the partition scheduling table pointer;
[0025] (5) Set up a partition scheduling table, which records the partition numbers, start times, and end times of all partitions running on this processor core.
[0026] Furthermore, the critical task refers to a task that, if not completed before a time point, will have a serious impact on the system and will bring about consequences that threaten the security of the system, and the consequence that threatens the security of the system refers to a system crash.
[0027] Furthermore, the main version task set is a set of tasks scheduled by the system when the system in the important partition runs normally and without errors; the tasks in the backup version task set are the same as the tasks in the main version task set; when an error occurs during the operation of the main version task set, the backup version task set is executed.
[0028] Furthermore, the partition set Pi in the heterogeneous multi-core platform partition operating system is set as follows:
[0029] (1) Assuming that the partitioned operating system of a heterogeneous multi-core platform contains n partitions, the partition set is Π={Pa1,Pa2,…Pa n}, the i-th partition Pa i The definition of Pa i =(χ i ,τ i ,τ i ,δ i );
[0030] (2)χ i Indicates the type of partition, and its value range is {0, 1}, where 0 is an important partition; 1 is a non-important partition;
[0031] (3) Master version task set within a partition represents the set of tasks that are executed correctly without errors in the i-th partition;
[0032] (4) For backup version task sets running on important partitions Indicates the backup version task set executed when the primary version task in the i-th partition fails; the backup version task set of non-important partitions is empty;
[0033] (5) Partition execution time δ i, which represents the time required for the execution of the i-th partition in each cycle.
[0034] Further, the task Defined as in:
[0035] Task type identification attribute G j : Indicates the task category, with a value range of {0, 1}, where 0 indicates a primary version task and 1 indicates a backup version task;
[0036] Task priority R j : Determines the scheduling order of tasks in the system;
[0037] Start time A j : Indicates the time when the task enters the ready state;
[0038] X j Indicates the maximum execution time of a task; W j Indicates the latest completion time of the task;
[0039] Define task τ j Processor utilization uτ j =X j / W j .
[0040] Furthermore, the heterogeneous multi-core platform partition operating system obtains the right to use the processor core according to the important partition strategy, specifically:
[0041] Retrieving from the processor group index table from high to low the processor core group with the highest processing performance and a non-zero number of available processor cores;
[0042] Allocate the first processor core in the processor core linked list pointed to by the processor group index table to the partition task;
[0043] The processor status table points to the partition scheduling table that records the content corresponding to the partition;
[0044] Calculate the processor utilization. If it is greater than 70%, change the status of the processor core to unavailable, remove the corresponding processor status table from the linked list and insert it at the end of the linked list; at the same time, modify the number of available processors in the processor group index table by one.
[0045] Furthermore, the heterogeneous multi-core platform partition operating system obtains the right to use the processor core according to the non-important partition strategy, specifically including:
[0046] Retrieve from the index table from low to high the processor core group with the highest processing performance whose number of available processor cores is not zero;
[0047] Allocate the first processor core in the processor core linked list pointed to by the processor group index table to the partition task;
[0048] The processor status table points to the partition scheduling table that records the content corresponding to the partition;
[0049] Calculate the processor utilization. If it is greater than 70%, change the status of the processor core to unavailable, remove the corresponding processor status table from the linked list and insert it into the end of the linked list, and modify the number of available processors in the processor group index table by one.
[0050] Furthermore, after the tasks in the partition are completed, the heterogeneous processor core management table is modified, specifically:
[0051] Remove the content corresponding to the partition recorded in the partition scheduling table pointed to by the processor state table from the linked list;
[0052] Calculate the processor utilization. If it is less than 70%, modify the corresponding position in the processor status table to be available; remove the processor status table from the linked list and insert it into the head of the linked list; increase the number of available processors in the corresponding processor group index table by one.
[0053] Furthermore, the present invention also proposes a heterogeneous multi-core platform partition operating system scheduling system, comprising:
[0054] Processor core resource pool partitioning module: In the heterogeneous multi-core platform partition operating system, the processor cores are divided into α processor core resource pools RP by type k , 1≤k≤α; assuming the processor core resource pool Contains β processor cores in, Indicates the processor core number, ν i Indicates the maximum processing performance that can be achieved by the processor core;
[0055] Heterogeneous processor core management table management module: The processor cores are managed using a linked list with an index table, namely the heterogeneous processor core management table; the index table header ranges from 1 to α, indicating that there are α types of processor cores with different processing speeds in the heterogeneous multi-core platform, and from 1 to α, the performance of the processor cores decreases in sequence; the index table header points to a processor group index table, which records the performance of this type of processor, the number of processor cores of this type, and the number of available processor cores; the table header pointer points to a bidirectional linked list structure composed of processor status tables, and each processor core has a corresponding processor status table; among them, the available processor cores are arranged at the front of the linked list, and the fully occupied processor cores are arranged at the back; the processor status table records the processor core identification number, the processor core available flag, the number of partitions running on this processor, and the partition scheduling table pointer; set the partition scheduling table, which records the partition number, start time, and end time of all partitions running on this processor core;
[0056] Partition division module: divide the tasks in the heterogeneous multi-core platform partition operating system into critical tasks and non-critical tasks according to their importance; define the partitions running critical tasks in the heterogeneous multi-core platform partition operating system as important partitions, and other partitions as non-important partitions; set the main version task set and the backup version task set; set the partition set Π in the heterogeneous multi-core platform partition operating system; define the task τ i j and task τ j Processor utilization;
[0057] Mapping establishment module: According to the characteristics of the task, the processor resource pool RP k Apply for processor resources, establish a mapping between processors and partitions, and determine whether it is an important partition or a non-important partition; for important partitions, the heterogeneous multi-core platform partition operating system obtains the right to use the processor core according to the important partition strategy; for non-important partitions, the heterogeneous multi-core platform partition operating system obtains the right to use the processor core according to the non-important partition strategy;
[0058] Operating system scheduling module: After the tasks in the partition are completed, the heterogeneous processor core management table is modified to complete the scheduling of the heterogeneous multi-core platform partition operating system.
[0059] The advantages of the present invention compared with the prior art are:
[0060] (1) The present invention proposes a heterogeneous multi-core allocation scheme in a multi-core partition operating system. This module uses a processor management table to allocate heterogeneous multi-core processors, thereby accelerating the processing of important partition tasks and ensuring the correct execution of critical tasks. A backup task set is set for the critical task set. When an error occurs in the main task set, the backup version of the task set can be run to ensure the correct execution of the critical task. The present invention solves the problem of serious consequences caused by critical task errors when using heterogeneous multi-core processors for task processing in the prior art, and provides a reliable task scheduling method.
[0061] (2) Currently, most research on partitioned operating system security is based on single-core or homogeneous multi-core platforms, and no research on heterogeneous multi-core platforms has been found. Previous studies have performed dynamic partition scheduling during system operation, which introduces scheduling uncertainty and is not conducive to stable system operation. Some studies have also performed a large number of system state switches for periodic integrity checks on the operating system, which cannot guarantee the real-time performance of the operating system. This invention studies the security protection of partitioned operating systems on heterogeneous multi-core platforms and has made certain breakthroughs.
[0062] (3) The present invention divides heterogeneous multi-core operating system partitions into critical and non-critical partitions. When a task in a critical partition fails, a backup task set is activated. An algorithm modifies the priority of the task set to ensure that tasks in the critical partition are executed correctly and on time. This ensures fault tolerance for critical tasks while also guaranteeing the real-time performance of the system. BRIEF DESCRIPTION OF THE DRAWINGS
[0063] Figure 1 This is a schematic diagram of the principle of a scheduling method for a partitioned operating system on a heterogeneous multi-core platform according to the present invention;
[0064] Figure 2 It is a schematic diagram of heterogeneous processor core management of the present invention;
[0065] Figure 3 This is a partition diagram of a heterogeneous multi-core platform partition operating system scheduling method of the present invention. DETAILED DESCRIPTION
[0066] like Figure 1 The figure shows a schematic diagram of the principle of a scheduling method for a partitioned operating system on a heterogeneous multi-core platform. The method proposes a task load-based processor allocation module within the multi-core partitioned operating system. This module analyzes the load of each partition and allocates heterogeneous multi-core processors, accelerating the processing of important partition tasks and ensuring the correct execution of critical tasks. A backup task set is set for the critical task set. If an error occurs in the main task set, the backup task set can be run to ensure the correct execution of the critical task.
[0067] The method of the present invention is described in detail below with reference to the accompanying drawings.
[0068] like Figure 1 、 2 The method of the present invention comprises the following steps:
[0069] Step 1: In the heterogeneous multi-core platform partition operating system, the processor cores are divided into α processor core resource pools RP by type. k , 1≤k≤α; assuming the processor core resource pool Contains β processor cores in, Indicates the processor core number, ν i Indicates the maximum processing performance that the processor core can achieve. Go to step 2.
[0070] Step 2, such as Figure 2 The processor cores shown in the figure are managed using a linked list with an index table - the heterogeneous processor core management table, which specifically includes:
[0071] (1) The index table headers from 1 to α indicate that there are α types of cores with different processing speeds in the platform. From 1 to α, the performance of the processor cores decreases in sequence.
[0072] (2) The index table header points to a processor group index table, which records the performance of this type of processor, the number of processing cores of this type, and the number of available processor cores.
[0073] (3) The header pointer points to a doubly linked list structure consisting of processor state tables. Each processor core has a corresponding processor state table. The available processor cores are arranged at the front of the linked list, and the fully occupied processor core state tables are arranged at the back.
[0074] (4) The status table records the processor core identification number, the processor core available flag, the number of partitions running on this processor, and the partition scheduling table pointer.
[0075] (5) The partition scheduling table records the partition number, start time, and end time of all partitions running on this processor core.
[0076] In step 3, tasks in the system are classified into critical and non-critical tasks based on their importance. A critical task is one that, if not completed before its deadline, will severely impact the system, potentially leading to system crashes and other security threats. Partitions in the system that run critical tasks are called critical partitions; other partitions are called non-critical partitions.
[0077] Step 4: Set the primary version task set and the backup version task set.
[0078] In order to achieve fault-tolerant scheduling in the operating system of an important partition, the present invention proposes the concept of primary and backup version task sets.
[0079] The primary version task set is a set of tasks scheduled by the system when the system in the partition is running normally and without errors. The tasks in the backup version task set perform the same functions as the primary version tasks. When an error occurs during the execution of the primary version task, the backup version task is executed.
[0080] Step 5: Set the partition set Pi in the heterogeneous multi-core platform partition operating system.
[0081] Assume that the partition operating system contains n partitions, then the partition set is Π={Pa1,Pa2,…Pa n}. The i-th partition Pa i The definition of Pa i =(χ i ,τ i ,τ i ,δ i ).
[0082] (1)χ iIndicates the type of partition, and its value range is {0, 1}, where 0 is an important partition and 1 is a non-important partition.
[0083] (2) Master version task set within a partition Represents the set of tasks that are executed correctly without errors in the i-th partition.
[0084] (3) For the backup version task set running in the important partition Indicates the set of backup version tasks executed when the primary version task in the i-th partition fails. The backup version task set for non-important partitions is empty.
[0085] (4) Partition execution time δ i , which indicates the time required for the execution of the i-th partition in each main timeline cycle.
[0086] Step 6: Define the tasks and task τ j Processor utilization.
[0087] Task Defined as Its task characteristics are defined as follows:
[0088] (1) Task type identification attribute G j : Indicates the task category, with a value range of {0, 1}, where 0 indicates a primary version task; 1 indicates a backup version task;
[0089] (2) Task priority R j : Determines the scheduling order of tasks in the system;
[0090] (3) Start time A j : Indicates the time when the task enters the ready state;
[0091] (4)X j Indicates the maximum execution time of a task;
[0092] (5) The latest completion time of the task W j : Indicates the latest completion time of the task.
[0093] (6) Define task τ j Processor utilization uτ j =X j / W j
[0094] Step 7, such as Figure 3 As shown, the system selects the processor resource pool RP according to the task characteristics. k Apply for processor core resources, establish a mapping between processor cores and partitions, and determine whether it is an important partition or a non-important partition.
[0095] For important partition systems, the following steps are taken to obtain the right to use the processor core:
[0096] (1) Search the index table from high to low for the core group with the highest processing performance and a non-zero number of available cores;
[0097] (2) Allocate the first processor core in the processor core linked list pointed to by the processor group index table to the partition task;
[0098] (2) The partition scheduling table pointed to by the processor state table records the content corresponding to the partition;
[0099] (4) Calculate the processor utilization. If it is greater than 70%, change the status of the processor core to unavailable. Remove the corresponding processor status table from the linked list and insert it at the end of the linked list. Modify the number of available processors in the processor group index table and reduce it by one.
[0100] Step 8: For non-critical partition systems, obtain the right to use the processor core by following these steps:
[0101] (1) Search the index table from low to high for the core group with the highest processing performance and a non-zero number of available cores;
[0102] (2) Allocate the first processor core in the processor core linked list pointed to by the processor group index table to the partition task;
[0103] (2) The partition scheduling table pointed to by the processor state table records the content corresponding to the partition;
[0104] (4) Calculate the processor utilization. If it is greater than 70%, change the status of the processor core to unavailable. Remove the corresponding processor status table from the linked list and insert it at the end of the linked list. Modify the number of available processors in the processor group index table and reduce it by one.
[0105] Step 9: After the tasks in the partition are finished running, the system modifies the heterogeneous processor core management table according to the following steps:
[0106] (1) Remove the content corresponding to the partition recorded in the partition scheduling table pointed to by the processor state table from the linked list;
[0107] (2) If the calculated processor utilization is less than 70%, the corresponding position in the processor status table is modified to be available; the processor status table is removed from the linked list and inserted into the head of the linked list; the number of available processors in the corresponding processor group index table is increased by one.
[0108] Furthermore, the present invention also proposes a heterogeneous multi-core platform partition operating system scheduling system, comprising:
[0109] Processor core resource pool partitioning module: In the heterogeneous multi-core platform partition operating system, the processor cores are divided into α processor core resource pools RP by type k , 1≤k≤α; assuming the processor core resource pool Contains β processor cores in, Indicates the processor core number, ν i Indicates the maximum processing performance that can be achieved by the processor core;
[0110] Heterogeneous processor core management table management module: The processor cores are managed using a linked list with an index table, namely the heterogeneous processor core management table; the index table header ranges from 1 to α, indicating that there are α types of processor cores with different processing speeds in the heterogeneous multi-core platform, and from 1 to α, the performance of the processor cores decreases in sequence; the index table header points to a processor group index table, which records the performance of this type of processor, the number of processor cores of this type, and the number of available processor cores; the table header pointer points to a bidirectional linked list structure composed of processor status tables, and each processor core has a corresponding processor status table; among them, the available processor cores are arranged at the front of the linked list, and the fully occupied processor cores are arranged at the back; the processor status table records the processor core identification number, the processor core available flag, the number of partitions running on this processor, and the partition scheduling table pointer; set the partition scheduling table, which records the partition number, start time, and end time of all partitions running on this processor core;
[0111] Partition division module: divide the tasks in the heterogeneous multi-core platform partition operating system into critical tasks and non-critical tasks according to their importance; define the partitions running critical tasks in the heterogeneous multi-core platform partition operating system as important partitions, and other partitions as non-important partitions; set the main version task set and the backup version task set; set the partition set Π in the heterogeneous multi-core platform partition operating system; define tasks and task τ j Processor utilization;
[0112] Mapping establishment module: According to the characteristics of the task, the processor resource pool RP k Apply for processor resources, establish a mapping between processors and partitions, and determine whether it is an important partition or a non-important partition; for important partitions, the heterogeneous multi-core platform partition operating system obtains the right to use the processor core according to the important partition strategy; for non-important partitions, the heterogeneous multi-core platform partition operating system obtains the right to use the processor core according to the non-important partition strategy;
[0113] Operating system scheduling module: After the tasks in the partition are completed, the heterogeneous processor core management table is modified to complete the scheduling of the heterogeneous multi-core platform partition operating system.
[0114] The present invention solves the problem in the prior art that critical task errors may cause serious consequences when heterogeneous multi-core processors are used to process tasks, and provides a reliable task scheduling method.
[0115] The contents not described in detail in the specification of the present invention belong to the common knowledge of those skilled in the art.
Claims
1. A method for securely scheduling a partitioned operating system on a heterogeneous multi-core platform, characterized in that The steps include: In a partitioned operating system for a heterogeneous multi-core platform, the processor cores are divided into α processor core resource pools RP by type. k , 1≤k≤α; assuming the processor core resource pool Contains β processor cores in, Indicates the processor core number, ν i Indicates the maximum processing performance that can be achieved by the processor core; The processor cores are managed using a linked list with an index table, i.e., a heterogeneous processor core management table; The tasks in the partitioned operating system of a heterogeneous multi-core platform are divided into critical tasks and non-critical tasks according to their importance. The partitions that run critical tasks in the partitioned operating system of a heterogeneous multi-core platform are defined as important partitions, and other partitions are called non-important partitions. Set the primary version task set and the backup version task set; Set a partition set Π in a partition operating system of a heterogeneous multi-core platform; Defining tasks and task τ j Processor utilization; According to the characteristics of the task, the processor resource pool RP k Apply for processor resources, establish a mapping between processors and partitions, and determine whether it is an important partition or a non-important partition; For important partitions, the partition operating system of the heterogeneous multi-core platform obtains the right to use the processor core according to the important partition strategy; For non-important partitions, the heterogeneous multi-core platform partition operating system obtains the right to use the processor core according to the non-important partition strategy; After the tasks in the partition are finished running, the heterogeneous processor core management table is modified to complete the scheduling of the heterogeneous multi-core platform partition operating system.
2. The method for securely scheduling a partitioned operating system on a heterogeneous multi-core platform according to claim 1, characterized in that: The processor cores are managed using the heterogeneous processor core management table, including: The index table headers from 1 to α indicate that there are α types of processor cores with different processing speeds in the heterogeneous multi-core platform, and the performance of the processor cores decreases from 1 to α. The index table header points to a processor group index table, which records the performance of this type of processor, the number of processor cores of this type, and the number of available processor cores; The header pointer points to a doubly linked list structure consisting of processor state tables. Each processor core has a corresponding processor state table. Available processor cores are arranged at the front of the list, and fully occupied processor cores are arranged at the back. The processor status table records the processor core identification number, the processor core available flag, the number of partitions running on this processor, and the partition scheduling table pointer; Set up a partition scheduling table, which records the partition numbers, start time, and end time of all partitions running on this processor core.
3. The method for securely scheduling a partitioned operating system on a heterogeneous multi-core platform according to claim 1, characterized in that: The critical tasks refer to tasks that, if not completed before a certain time point, will have a serious impact on the system and may threaten the security of the system. The consequences that threaten the security of the system refer to system crashes.
4. The method for securely scheduling a partitioned operating system on a heterogeneous multi-core platform according to claim 1, wherein: The primary version task set is the set of tasks scheduled by the system when the system in the important partition runs normally and without errors. The tasks in the backup version task set are the same as those in the primary version task set. When an error occurs during the operation of the primary version task set, the backup version task set is executed.
5. The method for securely scheduling a partitioned operating system on a heterogeneous multi-core platform according to claim 1, wherein: The partition set Pi in the partition operating system of the heterogeneous multi-core platform is set as follows: Assume that the partitioned operating system of a heterogeneous multi-core platform contains n partitions, then the partition set is Π={Pa1,Pa2,…Pa n }, the i-th partition Pa i The definition of Pa i =(χ i ,τ i ,τ i ,δ i ); χ i Indicates the type of partition, and its value range is {0, 1}, where 0 is an important partition; 1 is a non-important partition; Major version task set within a partition represents the set of tasks that are executed correctly without errors in the i-th partition; For backup version task sets running on important partitions Indicates the backup version task set executed when the primary version task in the i-th partition fails; the backup version task set of non-important partitions is empty; Partition execution time δ i , which represents the time required for the execution of the i-th partition in each cycle.
6. The method for securely scheduling a partitioned operating system on a heterogeneous multi-core platform according to claim 5, characterized in that: Task Defined as in: Task type identification attribute G j : Indicates the task category, with a value range of {0, 1}, where 0 indicates a primary version task and 1 indicates a backup version task; Task priority R j : Determines the scheduling order of tasks in the system; Start time A j : Indicates the time when the task enters the ready state; X j Indicates the maximum execution time of a task; W j Indicates the latest completion time of the task; Define task τ j Processor utilization uτ j =X j / W j .
7. The method for securely scheduling a partitioned operating system on a heterogeneous multi-core platform according to claim 6, characterized in that: The heterogeneous multi-core platform partition operating system obtains the right to use the processor core according to the important partition strategy, specifically: Retrieving from the processor group index table from high to low the processor core group with the highest processing performance and a non-zero number of available processor cores; Allocate the first processor core in the processor core linked list pointed to by the processor group index table to the partition task; The processor status table points to the partition scheduling table that records the content corresponding to the partition; Calculate the processor utilization. If it is greater than 70%, change the status of the processor core to unavailable, remove the corresponding processor status table from the linked list and insert it at the end of the linked list; at the same time, modify the number of available processors in the processor group index table by one.
8. The method for securely scheduling a partitioned operating system on a heterogeneous multi-core platform according to claim 6, characterized in that: The heterogeneous multi-core platform partition operating system obtains the right to use the processor core according to the non-important partition strategy, specifically including: Retrieve from the index table from low to high the processor core group with the highest processing performance whose number of available processor cores is not zero; Allocate the first processor core in the processor core linked list pointed to by the processor group index table to the partition task; The processor status table points to the partition scheduling table that records the content corresponding to the partition; Calculate the processor utilization. If it is greater than 70%, change the status of the processor core to unavailable, remove the corresponding processor status table from the linked list and insert it into the end of the linked list, and modify the number of available processors in the processor group index table by one.
9. The method for securely scheduling a partitioned operating system on a heterogeneous multi-core platform according to claim 6, wherein: After the tasks in the partition are finished running, the heterogeneous processor core management table is modified as follows: Remove the content corresponding to the partition recorded in the partition scheduling table pointed to by the processor state table from the linked list; Calculate the processor utilization. If it is less than 70%, modify the corresponding position in the processor status table to be available; remove the processor status table from the linked list and insert it into the head of the linked list; increase the number of available processors in the corresponding processor group index table by one.
10. A heterogeneous multi-core platform partition operating system scheduling system, characterized in that include: Processor core resource pool partitioning module: In the heterogeneous multi-core platform partition operating system, the processor cores are divided into α processor core resource pools RP by type k , 1≤k≤α; assuming the processor core resource pool Contains β processor cores in, Indicates the processor core number, ν i Indicates the maximum processing performance that can be achieved by the processor core; Heterogeneous processor core management table management module: The processor cores are managed using a linked list with an index table, namely the heterogeneous processor core management table; the index table header ranges from 1 to α, indicating that there are α types of processor cores with different processing speeds in the heterogeneous multi-core platform, and from 1 to α, the performance of the processor cores decreases in sequence; the index table header points to a processor group index table, which records the performance of this type of processor, the number of processor cores of this type, and the number of available processor cores; the table header pointer points to a bidirectional linked list structure composed of processor status tables, and each processor core has a corresponding processor status table; among them, the available processor cores are arranged at the front of the linked list, and the fully occupied processor cores are arranged at the back; the processor status table records the processor core identification number, the processor core available flag, the number of partitions running on this processor, and the partition scheduling table pointer; set the partition scheduling table, which records the partition number, start time, and end time of all partitions running on this processor core; Partition division module: divide the tasks in the heterogeneous multi-core platform partition operating system into critical tasks and non-critical tasks according to their importance; define the partitions running critical tasks in the heterogeneous multi-core platform partition operating system as important partitions, and other partitions as non-important partitions; set the main version task set and the backup version task set; set the partition set Π in the heterogeneous multi-core platform partition operating system; define tasks and task τ j Processor utilization; Mapping establishment module: According to the characteristics of the task, the processor resource pool RP k Apply for processor resources, establish a mapping between processors and partitions, and determine whether it is an important partition or a non-important partition; for important partitions, the heterogeneous multi-core platform partition operating system obtains the right to use the processor core according to the important partition strategy; for non-important partitions, the heterogeneous multi-core platform partition operating system obtains the right to use the processor core according to the non-important partition strategy; Operating system scheduling module: After the tasks in the partition are completed, the heterogeneous processor core management table is modified to complete the scheduling of the heterogeneous multi-core platform partition operating system.
Citation Information
Patent Citations
Task scheduling method and task scheduling device for operating system and computer
CN102591703A
Safety-critical and time-critical resource scheduling method and equipment
CN110489230A