CN112214291A - Task scheduling method and device - Google Patents

Task scheduling method and device Download PDF

Info

Publication number
CN112214291A
CN112214291A CN201910631979.5A CN201910631979A CN112214291A CN 112214291 A CN112214291 A CN 112214291A CN 201910631979 A CN201910631979 A CN 201910631979A CN 112214291 A CN112214291 A CN 112214291A
Authority
CN
China
Prior art keywords
task
time
basic
execution time
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910631979.5A
Other languages
Chinese (zh)
Inventor
江国平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Haikang Automobile Technology Co ltd
Original Assignee
Hangzhou Haikang Automobile Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Haikang Automobile Technology Co ltd filed Critical Hangzhou Haikang Automobile Technology Co ltd
Priority to CN201910631979.5A priority Critical patent/CN112214291A/en
Publication of CN112214291A publication Critical patent/CN112214291A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Abstract

The embodiment of the invention discloses a task scheduling method and a task scheduling device, relates to the technical field of computers, and solves the problems of poor predictability of basic task execution and poor rationality of system resource utilization. The method comprises the following steps: executing each basic task according to the scheduled execution time of each basic task, wherein at least one basic task in each basic task triggers the time-consuming task state to be a ready state in the execution process; and executing the time-consuming task in a ready state within the residual scheduled execution time of the basic task of which the actual execution time is less than the scheduled execution time, wherein the execution result of the time-consuming task is called by the basic task needing to call the execution result. The invention can be applied to task scheduling in the field of functional safety.

Description

Task scheduling method and device
Technical Field
The invention relates to the technical field of computers, in particular to a task scheduling method and a task scheduling device.
Background
The embedded system supports multiple tasks, such as various basic tasks, time consuming tasks, idle tasks, and the like. Task scheduling of an embedded system is mainly to coordinate contention and use of various tasks in the embedded system on system resources, and an existing task scheduling mechanism of the embedded system mainly comprises a task polling mechanism and a priority preemption mechanism. When a task polling mechanism is adopted for task scheduling, under the condition that the total time of the execution time of the system tasks is fixed, each task can use the system resources in turn, but because the execution time of the time-consuming tasks is longer, the time-consuming tasks occupy the system resources for a long time, and the execution efficiency of the basic tasks is directly influenced. When a priority preemption mechanism is adopted to schedule tasks, the system can always select the ready task with the highest priority to execute, but due to unpredictability of external events, in the field of functional safety such as automobile systems and the like, the requirement of functional safety on task execution predictability is difficult to meet.
Disclosure of Invention
The embodiment of the invention discloses a task scheduling method, a task scheduling device, electronic equipment and a computer readable storage medium, and aims to improve the predictability of basic task execution and the utilization rationality of system resources.
In order to achieve the above object, an embodiment of the present invention discloses a task scheduling method, where the method includes:
executing each basic task according to the scheduled execution time of each basic task, wherein at least one basic task in each basic task triggers the time-consuming task state to be a ready state in the execution process;
and executing the time-consuming task in a ready state within the residual scheduled execution time of the basic task of which the actual execution time is less than the scheduled execution time, wherein the execution result of the time-consuming task is called by the basic task needing to call the execution result.
Optionally, the actual execution time of the time-consuming task is greater than the scheduled execution time of the basic task triggering the time-consuming task or the remaining scheduled execution time.
Optionally, the scheduled execution time of each basic task is greater than the actual execution time.
Optionally, the task scheduling is based on the safety requirement of the electronic function of the automobile.
Optionally, the basic task linked list where each basic task is located and the time-consuming task linked list where the time-consuming task is located are two different task linked lists;
within the remaining scheduled execution time of the basic task of which the actual execution time is less than the scheduled execution time, executing the time-consuming task in the ready state includes:
under the condition that the actual execution time of the current basic task is less than the scheduled execution time, after the current basic task is executed, scheduling and executing the time-consuming task in the ready state in the time-consuming task linked list;
and under the condition that the execution time of the next basic task is reached, scheduling and executing the next basic task in the basic task linked list.
Optionally, the condition that the actual execution time of the current basic task is less than the scheduled execution time includes a condition that the current basic task is executed completely and a signal reaching the execution time of the next basic task is not generated; or
Under the condition that the actual execution time of the current basic task is less than the scheduled execution time, after the current basic task is executed, and before the time-consuming task in the ready state in the time-consuming task linked list is scheduled and executed, the method further comprises the following steps: and after the current basic task is executed, comparing the size relationship between the actual execution time of the current basic task and the scheduled execution time.
Optionally, when the next basic task execution time is reached, before the next basic task in the basic task linked list is scheduled to be executed, the method further includes:
judging whether the next basic task execution time is reached or not by taking the minimum unit time of the planned execution time of each basic task as a period; or
Starting timing when a current basic task starts to execute, and triggering an interruption event when the timing time reaches the scheduled execution time of the current basic task, wherein the interruption event represents the time of reaching the next basic task; or
Starting timing after the current basic task is executed, and triggering an interruption event when the timing time reaches the difference between the planned execution time and the actual execution time of the current basic task, wherein the interruption event represents the time when the next basic task is executed.
Optionally, the scheduling and executing the next basic task in the basic task linked list when the next basic task execution time is reached includes:
under the condition that the next basic task execution time is reached, judging whether the current execution task is a task in the time-consuming task linked list or not;
and under the condition that the current execution task is the task in the time-consuming task linked list, storing linked list information of the time-consuming task linked list, and scheduling and executing the next basic task in the basic task linked list.
In order to achieve the above object, an embodiment of the present invention discloses a task scheduling apparatus, including:
the basic task execution module is used for executing each basic task according to the scheduled execution time of each basic task, and at least one basic task in each basic task triggers the time-consuming task state into a ready state in the execution process;
and the time-consuming task execution module is used for executing the time-consuming task in a ready state within the residual scheduled execution time of the basic task of which the actual execution time is less than the scheduled execution time, and the execution result of the time-consuming task is called by the basic task of which the execution result needs to be called.
Optionally, the actual execution time of the time-consuming task is greater than the scheduled execution time of the basic task triggering the time-consuming task or the remaining scheduled execution time.
Optionally, the scheduled execution time of each basic task is greater than the actual execution time.
Optionally, the task scheduling is based on the safety requirement of the electronic function of the automobile.
Optionally, the basic task linked list where each basic task is located and the time-consuming task linked list where the time-consuming task is located are two different task linked lists;
the time-consuming task execution module is used for scheduling and executing the time-consuming tasks in the ready state in the time-consuming task linked list after the current basic task is executed under the condition that the actual execution time of the current basic task is less than the scheduled execution time;
the basic task execution module is further configured to schedule and execute the next basic task in the basic task linked list when the next basic task execution time is reached.
Optionally, the condition that the actual execution time of the current basic task is less than the scheduled execution time includes a condition that the current basic task is executed completely and a signal reaching the execution time of the next basic task is not generated; or
The device further comprises: and the comparison module is used for comparing the size relationship between the actual execution time of the current basic task and the planned execution time after the current basic task is executed.
Optionally, the apparatus further comprises:
a basic task execution time reaching determining module, configured to determine whether the next basic task execution time is reached, with a minimum unit time of the scheduled execution time of each basic task as a period; or
The timer is used for starting timing when the current basic task starts to execute, and triggering an interrupt event when the timing time reaches the scheduled execution time of the current basic task, wherein the interrupt event represents the execution time of the next basic task; or
And the timer is used for starting timing after the current basic task is executed, and triggering an interrupt event when the timing time reaches the difference between the planned execution time and the actual execution time of the current basic task, wherein the interrupt event represents the execution time of the next basic task.
Optionally, the basic task execution module is further configured to determine whether the currently executed task is a task in the time-consuming task linked list when a next basic task execution time is reached; and the link list information of the time-consuming task link list is saved and the next basic task in the basic task link list is scheduled and executed under the condition that the current execution task is the task in the time-consuming task link list.
In order to achieve the above object, an embodiment of the present invention further discloses an electronic device, which includes a processor and a memory, wherein,
a memory for storing a computer program;
the processor is used for realizing the steps of the task scheduling method provided by the embodiment of the invention when executing the program stored in the memory.
In order to achieve the above object, an embodiment of the present invention further discloses a computer-readable storage medium, in which a computer program is stored, and when the computer program is executed by a processor, the steps of the task scheduling method provided by the embodiment of the present invention are implemented.
In order to achieve the above object, an embodiment of the present invention further discloses a computer program product, which when running on a computer, causes the computer to execute the steps of implementing the task scheduling method provided by the embodiment of the present invention.
The embodiment of the invention provides a task scheduling method, a task scheduling device, electronic equipment and a computer-readable storage medium, wherein each basic task is executed according to the scheduled execution time of each basic task, and at least one basic task in each basic task triggers the time-consuming task state into a ready state in the execution process; and executing the time-consuming task in a ready state within the residual scheduled execution time of the basic task of which the actual execution time is less than the scheduled execution time, wherein the execution result of the time-consuming task is called by the basic task needing to call the execution result. Because each basic task is executed according to the scheduled execution time of each basic task, the starting time of each basic task in the operation of the system can be predicted, and the execution predictability of each basic task is improved; the time-consuming tasks in the ready state are executed in the residual scheduled execution time of the basic tasks of which the actual execution time is less than the scheduled execution time, so that the possibility that the time-consuming tasks occupy system resources for a long time is reduced, the execution efficiency of the basic tasks is improved, the execution time is provided for the time-consuming tasks, the time-consuming tasks can be completed by executing the time-consuming tasks in the residual scheduled execution time of a limited number of basic tasks, and after the time-consuming tasks are executed, the execution results of the time-consuming tasks can be called as required, the basic tasks of the execution results can be called, all the tasks can be executed and completed, and the utilization rationality of the system resources is.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a schematic flowchart of a task scheduling method according to an embodiment of the present invention;
fig. 2 is a schematic flowchart of another task scheduling method according to an embodiment of the present invention;
FIG. 2-1 is a schematic diagram of a task scheduling process in a system operation cycle according to an embodiment of the present invention;
fig. 3 is a flowchart illustrating a task scheduling method according to another embodiment of the present invention;
fig. 4 is a schematic structural diagram of a task scheduling device according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of another task scheduling device according to an embodiment of the present invention;
fig. 6 is a schematic structural diagram of another task scheduling device according to an embodiment of the present invention;
fig. 7 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Referring to fig. 1, fig. 1 is a schematic flowchart of a task scheduling method according to an embodiment of the present invention, where the method includes:
s101: and executing the basic tasks according to the scheduled execution time of the basic tasks, wherein at least one basic task in the basic tasks triggers the time-consuming task state to be a ready state in the execution process.
Specifically, before the system runs, the user may configure the system cycle time as needed, and configure each task: tasks which need to be executed strictly according to the scheduled execution time can be configured into basic tasks, such as signal acquisition tasks, the scheduled execution time of each basic task in a system period is configured, and the state of each basic task is configured into a ready state; in the configuration stage, the time-consuming task state is configured to be an un-ready state, in the execution process of at least one basic task in the basic tasks, the system environment may reach the condition required by the time-consuming task execution, and the time-consuming task state may be triggered to be a ready state. And after the system runs, executing each basic task according to the scheduled execution time of each basic task.
It should be noted that, when the system has the need of performing voting processing on redundant channels, for example, multiple channels are used for parallel processing and carrying the same task, each channel performs task level voting or periodic level voting, and the system determines a conclusion according to the result of the voting processing on multiple channels, so that the reliability of the system is further improved.
In one embodiment of the invention, the actual execution time of the time-consuming task is greater than the planned execution time of the base task that triggered the time-consuming task.
Specifically, the actual execution time of each task may be obtained by executing each task multiple times in advance, and an average value of the actual execution times of each task is an ideal execution time of each task. Because the error between the ideal execution time and the actual execution time of each task is small under the normal system operation environment, therefore, in the configuration phase, by comparing the planned execution time of the base task with the ideal execution time of the task triggered by said base task, when the ideal execution time of the task triggered by the basic task is larger than the planned execution time of the basic task, configuring the task triggered by the basic task as a time-consuming task, so that under the normal system operation environment, when the actual execution time of the task is larger than the scheduled execution time of the basic task triggering the task, the task is configured to be a time-consuming task, and the probability that the execution efficiency of other basic tasks is influenced because the task is configured to be a basic task and occupies system resources for a long time during execution is reduced.
In one embodiment of the invention, the actual execution time of the time-consuming task is greater than the remaining scheduled execution time of the base task that triggered the time-consuming task.
Specifically, the actual execution time of each task may be obtained by executing each task multiple times in advance, and an average value of the actual execution times of each task is an ideal execution time of each task. Because the error between the ideal execution time and the actual execution time of each task is small under the normal system operation environment, thus, in the configuration phase, by calculating the difference between the planned execution time and the ideal execution time of the base task, comparing said difference with the ideal execution time of the task triggered by said base task, when the ideal execution time of the task triggered by the basic task is larger than the difference value, configuring the task triggered by the basic task as a time-consuming task, so that under the normal system operation environment, when the actual execution time of the task is more than the residual scheduled execution time of the basic task triggering the task, the task is configured to be a time-consuming task, so that the probability that the subsequent basic task cannot be executed according to the scheduled execution time because the task is configured to be the basic task and the task is executed after the basic task of the task is triggered is reduced.
In one embodiment of the present invention, the scheduled execution time of each of the basic tasks is greater than the actual execution time.
Specifically, the actual execution time of each task may be obtained by executing each task multiple times in advance, and an average value of the actual execution times of each task is an ideal execution time of each task. Because the error between the ideal execution time and the actual execution time of each task is smaller in the normal system operation environment, the planned execution time of each basic task in the configuration system period is greater than the ideal actual execution time in the configuration stage, so that the planned execution time of each basic task can be greater than the actual execution time in the normal system operation environment, and thus, each basic task has residual planned execution time, and the residual planned execution time can be used as a system scheduling time slice to schedule the execution of other tasks.
S102: and executing the time-consuming task in a ready state within the residual scheduled execution time of the basic task of which the actual execution time is less than the scheduled execution time, wherein the execution result of the time-consuming task is called by the basic task needing to call the execution result.
In this way, the time-consuming task can be performed by a limited number of remaining scheduled execution times of the base task, the actual execution times of which are less than the scheduled execution times. After the time-consuming task is executed, the execution result of the time-consuming task can be directly provided for a basic task needing to call the execution result, so that the basic task can directly call the execution result in the subsequent execution; the execution result of the time-consuming task can also be stored by using a fixed storage location, the data in the storage location is read when the basic task needing to call the execution result is executed in each system cycle, the execution result is stored to the storage location when the time-consuming task is executed, and the execution result can be called when the basic task reads the execution result.
By executing the time-consuming tasks in the ready state within the residual scheduled execution time of the basic tasks of which the actual execution time is less than the scheduled execution time, on one hand, the basic tasks are ensured to be executed strictly according to the scheduled execution time, the possibility that the time-consuming tasks occupy system resources for a long time is reduced, and the execution efficiency of the basic tasks is improved; on the other hand, the residual scheduled execution time of the basic task is reasonably utilized, the execution time is provided for the time-consuming task, and the utilization rationality of system resources is improved.
In one embodiment of the invention, the task schedule is a task schedule based on safety requirements of automotive electronic functions. Because the system cycle of task execution in automotive electronic products is generally tens of milliseconds, the execution time of basic tasks such as backing signal acquisition or radar signal acquisition executed in the system cycle is generally several milliseconds or tens of milliseconds, and the execution time of time-consuming tasks such as algorithm tasks for planning backing paths is generally dozens of times of the system cycle, if the time-consuming tasks are executed for a long time, the execution efficiency of the basic tasks is directly influenced, and the functional safety cannot be ensured. The task scheduling method provided by the embodiment of the invention is applied to an embedded system of an automobile electronic product, so that the requirement of international standard ISO26262 for road vehicle function safety on task execution predictability is ensured, and a plurality of basic tasks are executed according to expected time and time periods.
The embodiment of the invention provides a task scheduling method, and as each basic task is executed according to the scheduled execution time of each basic task, the starting time of the execution of each basic task in the operation of a system can be predicted, and the execution predictability of each basic task is improved; when the system has the requirement of voting processing of the redundant channels, as each basic task in each channel is executed according to the scheduled execution time, the tasks of each channel can be synchronized only once in the power-on process, the consistency of the voting information of the channels on time is improved, and the advantage in the synchronous voting of the redundant channels is increased; the time-consuming tasks in the ready state are executed in the residual scheduled execution time of the basic tasks of which the actual execution time is less than the scheduled execution time, so that the possibility that the time-consuming tasks occupy system resources for a long time is reduced, the execution efficiency of the basic tasks is improved, the execution time is provided for the time-consuming tasks, the time-consuming tasks can be completed by executing the time-consuming tasks in the residual scheduled execution time of a limited number of basic tasks, and after the time-consuming tasks are executed, the execution results of the time-consuming tasks can be called as required, the basic tasks of the execution results can be called, all the tasks can be executed and completed, and the utilization rationality of the system resources is.
Referring to fig. 2, fig. 2 is a schematic flowchart of another task scheduling method according to an embodiment of the present invention, where the method includes:
s201: and generating a basic task linked list and a time-consuming task linked list.
Specifically, before the system runs, the user may configure the system cycle time as needed, and configure each task: tasks to be executed according to the scheduled execution time can be configured into basic tasks, such as signal acquisition tasks, the scheduled execution time of each basic task is configured, and the state of each basic task is configured into a ready state; in the configuration stage, the time-consuming task state is configured to be an un-ready state, and in the execution process of at least one basic task in each basic task, the system environment may reach the condition required by the time-consuming task to be executed, and the time-consuming task state may be triggered to be a ready state, that is, in the execution process of at least one basic task in each basic task, the time-consuming task state may be triggered to be a ready state by the at least one basic task in each basic task. The user can configure the basic task linked list where each basic task is located and the time-consuming task linked list where the time-consuming task is located into two different task linked lists.
In one embodiment of the invention, the actual execution time of the time-consuming task is greater than the planned execution time of the base task that triggered the time-consuming task.
Specifically, the actual execution time of each task may be obtained by executing each task multiple times in advance, and an average value of the actual execution times of each task is an ideal execution time of each task. Because the error between the ideal execution time and the actual execution time of each task is small under the normal system operation environment, therefore, in the configuration phase, by comparing the planned execution time of the base task with the ideal execution time of the task triggered by said base task, when the ideal execution time of the task triggered by the basic task is larger than the planned execution time of the basic task, configuring the task triggered by the basic task as a time-consuming task, so that under the normal system operation environment, when the actual execution time of the task is larger than the scheduled execution time of the basic task triggering the task, the task is configured to be a time-consuming task, and the probability that the execution efficiency of other basic tasks is influenced because the task is configured to be a basic task and occupies system resources for a long time during execution is reduced.
In one embodiment of the invention, the actual execution time of the time-consuming task is greater than the remaining scheduled execution time of the base task that triggered the time-consuming task.
Specifically, the actual execution time of each task may be obtained by executing each task multiple times in advance, and an average value of the actual execution times of each task is an ideal execution time of each task. Because the error between the ideal execution time and the actual execution time of each task is small under the normal system operation environment, thus, in the configuration phase, by calculating the difference between the planned execution time and the ideal execution time of the base task, comparing said difference with the ideal execution time of the task triggered by said base task, when the ideal execution time of the task triggered by the basic task is larger than the difference value, configuring the task triggered by the basic task as a time-consuming task, so that under the normal system operation environment, when the actual execution time of the task is more than the residual scheduled execution time of the basic task triggering the task, the task is configured to be a time-consuming task, so that the probability that the subsequent basic task cannot be executed according to the scheduled execution time because the task is configured to be the basic task and the task is executed after the basic task of the task is triggered is reduced.
In one embodiment of the present invention, the scheduled execution time of each of the basic tasks is greater than the actual execution time.
Specifically, the actual execution time of each task may be obtained by executing each task multiple times in advance, and an average value of the actual execution times of each task is an ideal execution time of each task. Because the error between the ideal execution time and the actual execution time of each task is smaller in the normal system operation environment, the planned execution time of each basic task in the configuration system period is greater than the ideal actual execution time in the configuration stage, so that the planned execution time of each basic task can be greater than the actual execution time in the normal system operation environment, and thus, each basic task has residual planned execution time, and the residual planned execution time can be used as a system scheduling time slice to schedule the execution of other tasks.
After the user finishes configuring the system cycle time and each task, the system analyzes the configuration information during running to generate a basic task linked list and a time-consuming task linked list.
Specifically, the basic tasks in the basic task linked list may be sequentially arranged according to a scheduled execution time, and a basic task stack space in the basic task linked list may be a system stack space. The time-consuming tasks in the time-consuming task linked list can be sequentially arranged according to a configuration sequence, the tasks in the time-consuming task linked list need to independently apply for task stack space, and here, the task stack in the time-consuming task linked list is used as a user unique definition stack, so that the risk that a real-time operating system defines the stack independently for the tasks is reduced.
In an embodiment of the present invention, an idle task may be configured into a time-consuming task list, where the idle task is a task whose execution result does not affect system operation and has no strict requirement on whether to execute the task, and the idle task state is configured into a ready state, where the time-consuming task and the idle task in the time-consuming task list may be sequentially arranged according to a configuration sequence, and further, the time-consuming task and the idle task may be configured with priorities.
S202: and executing the current basic task in the basic task linked list.
And executing the current basic task which is in accordance with the current execution time in the basic task linked list, so that each basic task in the system period can be executed according to the scheduled execution time of each basic task. After the execution of step S202 is completed, that is, the execution of the current basic task is completed, step S203 is executed.
Here, since it is necessary to enable each base task to be executed according to the scheduled execution time of each base task within the system cycle, it is necessary to determine whether the next base task execution time is reached while the system is executing the task, so that the corresponding operation is executed when the next base task execution time is reached, and the specific steps may be steps S21 to S23.
S21: and determining that the next basic task execution time is reached.
Specifically, when the current basic task starts to execute, the scheduled execution time of the current basic task is read from the configured information, a timer is started to time when the current basic task starts to execute, and an interrupt event is triggered when the timed time reaches the scheduled execution time of the current basic task, where the interrupt event indicates that the next basic task execution time is reached, so that the interrupt event is triggered by the timer to determine that the next basic task execution time is reached.
Or starting a timer to time after the current basic task is executed, and triggering an interrupt event when the timed time reaches the difference between the scheduled execution time and the actual execution time of the current basic task, wherein the interrupt event represents that the next basic task execution time is reached, so that the interrupt event is triggered by the timer to determine that the next basic task execution time is reached. It should be noted that, here, the actual execution time of the current basic task may be obtained by reading the system clock when the current basic task starts to execute as the current basic task start execution time, reading the system clock when the current basic task finishes executing as the current basic task execution completion time, and subtracting the current basic task start execution time from the current basic task execution completion time.
Preferably, after the basic tasks in the basic task list start to be executed, the minimum unit time of the scheduled execution time of each basic task is taken as a fixed period, and whether the next basic task execution time is reached is periodically judged, so that the next basic task is scheduled to be executed when the next basic task execution time is reached. Specifically, a system millisecond timer may be started when the basic task is started to execute, and after the system millisecond timer triggers an interrupt event every millisecond, whether the next basic task execution time is reached is determined according to the scheduled execution time of each basic task in the configured information. Whether the next basic task execution time is reached is judged by triggering the interrupt event through the millisecond timer, the timer is simpler in the stage of configuring the timer, the time of the timer is uniform, and the risk of accumulated errors of the timer caused by updating the interrupt time of the timer for multiple times is reduced.
S22: judging the task attribute of the current execution task, and executing the step S203 under the condition that the current execution task is the task in the basic task linked list; in the case that the currently executed task is a task in the time-consuming task list, step S23 is executed.
When the interrupt event occurs through the timer to determine whether the next basic task execution time is reached, since the task being executed may be a task in the basic task chain table when the next basic task execution time is reached, for example, the current basic task is not executed or is just executed when the next basic task execution time is reached; the executing task may not be the task in the basic task list, for example, the executing task may be the task in the time-consuming task list, so that the task attribute of the currently executing task needs to be determined, and in the case that the currently executing task is the task in the basic task list, step S203 is executed; in the case that the currently executed task is a task in the time-consuming task list, step S23 is executed.
S23: and saving the linked list information of the time-consuming task linked list, scheduling the execution of the next basic task in the basic task linked list, and executing the step S202.
Because the next basic task needs to be executed according to the scheduled execution time, when the execution time of the next basic task is reached, the next basic task needs to be executed by scheduling the basic task linked list. Specifically, task switching may be realized by triggering an interrupt when the next base task execution time is reached. It should be noted that, when the next basic task execution time is reached, the currently executed task may be a task in the time-consuming task linked list, and then the linked list information of the time-consuming task linked list at this time needs to be stored, the linked list information of the basic task linked list is read, the linked list information includes stack information of tasks in the linked list, the current task scheduling point of the basic task linked list is scheduled according to the linked list information of the basic task linked list, the next basic task in the basic task linked list is scheduled to be executed, and the step S202 is executed.
Thus, through steps S21 to S23, the system determines whether the next basic task execution time has arrived at the same time as executing the task, and executes the corresponding operation when the next basic task execution time has arrived.
S203: after the current basic task is executed, comparing the size relationship between the actual execution time of the current basic task and the scheduled execution time, and executing the step S204 if the actual execution time of the current basic task is greater than the scheduled execution time; if the actual execution time of the current basic task is equal to the scheduled execution time, executing step S205; if the actual execution time of the current basic task is less than the scheduled execution time, step S206 is executed.
Specifically, the system clock may be read as the current basic task starting execution time when the current basic task starts execution, the system clock may be read as the current basic task starting execution completion time when the current basic task is completed, the current basic task starting execution completion time and the current basic task starting execution time are subtracted to obtain the actual execution time of the current basic task, the planned execution time of the current basic task is obtained in the configured information, the magnitude relationship between the actual execution time of the current basic task and the planned execution time is compared, and if the actual execution time of the current basic task is greater than the planned execution time, step S204 is executed; if the actual execution time of the current basic task is equal to the scheduled execution time, executing step S205; if the actual execution time of the current basic task is less than the scheduled execution time, step S206 is executed.
S204: the system enters a safe state.
When the actual execution time of the current basic task is greater than the scheduled execution time, the current basic task has an overtime fault, each basic task cannot be executed according to the scheduled execution time, and the system enters a safe state, wherein the system can directly end executing the tasks and send out fault signals, such as controlling an indicator lamp to be turned on or a buzzer to ring, so as to prompt a user to perform corresponding processing; the system can also be restarted, if overtime faults occur in the process of executing the tasks after restarting, the task is finished and fault signals are sent out, so that the safety and reliability of the system are improved.
S205: and continuing to execute the next basic task in the basic task linked list, and executing the step S202.
Since the actual execution time of the current basic task is equal to the scheduled execution time, the execution completion time of the current basic task is the scheduled execution start time of the next basic task, and since the next basic task needs to be executed according to the scheduled execution time, the execution of the next basic task in the basic task chain table needs to be continued, and step S202 is executed.
S206: and after the current basic task is executed, scheduling the time-consuming task to the time-consuming task linked list to execute the time-consuming task in a ready state, wherein the execution result of the time-consuming task is called by the basic task needing to call the execution result.
Because the actual execution time of the current basic task is less than the scheduled execution time, a residual scheduled execution time still exists after the execution of the current basic task is finished, and the time-consuming tasks in the ready state in the time-consuming task chain table are scheduled and executed in the residual scheduled execution time. Specifically, after the current basic task is executed, task switching may be implemented by triggering an interrupt. After the interruption occurs, the linked list information of the basic task linked list can be saved, the linked list information of the time-consuming task linked list is read, the linked list information comprises stack information of tasks in the linked list, and the current task scheduling point of the time-consuming task linked list is scheduled according to the linked list information of the time-consuming task linked list. The time-consuming tasks in the time-consuming task linked list can be sequentially arranged according to a configuration sequence, after the time-consuming tasks are scheduled to the time-consuming task linked list, whether the time-consuming tasks in the ready state exist can be circularly and sequentially inquired in the time-consuming task linked list by taking the current task scheduling point as a starting point, and if the time-consuming tasks exist, the time-consuming tasks in the ready state are executed.
In an embodiment of the present invention, an idle task may be configured in a time-consuming task list, and the idle task state is configured in a ready state, where the time-consuming tasks and the idle tasks in the time-consuming task list may be sequentially arranged according to a configuration order, and after the time-consuming tasks and the idle tasks in the ready state are scheduled in the time-consuming task list, the current task scheduling point may be taken as a starting point to circularly and sequentially query whether there is a task in the ready state in the time-consuming task list, and if there is a task in the ready state, the task in the ready state is executed, that is, if the idle task in the ready state in the time-consuming task list is before the time-consuming task in the ready state, the idle task in the ready state may be executed first, and after the execution of the idle task in the ready state is finished. Further, priority configuration may be performed on the time-consuming task and the idle task, for example, the priority of the time-consuming task may be configured to be higher than that of the idle task, so that after the time-consuming task is scheduled to the time-consuming task linked list, a task in a ready state in the time-consuming task linked list may be executed according to the priority.
It should be noted that, after the execution of the time-consuming task is completed, the execution result of the time-consuming task may be directly provided to the basic task that needs to call the execution result, so that the basic task may directly call the execution result in the subsequent execution; the execution result of the time-consuming task can also be stored by using a fixed storage location, the data in the storage location is read when the basic task needing to call the execution result is executed in each system cycle, the execution result is stored to the storage location when the time-consuming task is executed, and the execution result can be called when the basic task reads the execution result.
Here, since the time-consuming task linked list has been scheduled to execute the time-consuming task in the ready state after the current base task is executed, when the next base task execution time is reached, the current execution task is a task in the time-consuming task linked list. According to step S23, when it is determined that the currently executed task is a task in the time-consuming task linked list, the linked list information of the time-consuming task linked list is saved, the next basic task in the basic task linked list is scheduled to be executed, and step S202 is executed.
Therefore, in the running process of the system, the task in the ready state can be executed by the time-consuming task linked list within the residual scheduled execution time of each basic task. For example, referring to fig. 2-1, fig. 2-1 is a schematic diagram of a task scheduling process in a system operation cycle according to an embodiment of the present invention. As can be seen from fig. 2-1, the scheduled execution time of the basic task 1 is 10ms, the actual execution time is 5ms, after the basic task 1 is executed, the task in the ready state is scheduled to be executed by the time-consuming task chain table, and after the task in the ready state is executed by the time-consuming task chain table for 5ms, the basic task 2 in the basic task chain table is scheduled to be executed again because the execution start time of the next basic task, i.e., the basic task 2, is reached. The scheduled execution time of the basic task 2 is 15ms, the actual execution time is 8ms, after the basic task 2 is executed, the task in the ready state of the time-consuming task chain table is scheduled again, and after the starting execution time of the next basic task, namely the basic task 3, is reached, the basic task 3 in the basic task chain table is scheduled and executed.
In this way, in the system operation process, the actual execution time and the scheduled execution time of each basic task are compared, the tasks in the ready state are executed by the time-consuming task chain table within the residual scheduled execution time of the basic tasks of which the actual execution time is less than the scheduled execution time, and the time-consuming tasks can be executed and completed through the residual scheduled execution time of the limited basic tasks of which the actual execution time is less than the scheduled execution time because the time-consuming task state in the time-consuming task chain table can be triggered to be the ready state by the basic tasks, after the time-consuming tasks are triggered to be the ready state, the limited time-consuming tasks can be executed and executed within the residual scheduled execution time of the basic tasks of which the actual execution time is less than the. On one hand, each basic task is guaranteed to be executed strictly according to the scheduled execution time, the possibility that the time-consuming task occupies system resources for a long time is reduced, and the execution efficiency of the basic task is improved; on the other hand, the residual scheduled execution time of the basic task is reasonably utilized, the execution time is provided for the time-consuming task, and the utilization rationality of system resources is improved.
It should be noted that, when the system has the need of performing voting processing on redundant channels, for example, multiple channels are used for parallel processing and carrying the same task, each channel performs task level voting or periodic level voting, and the system determines a conclusion according to the result of the voting processing on multiple channels, so that the reliability of the system is further improved.
In one embodiment of the invention, the task schedule is a task schedule based on safety requirements of automotive electronic functions. Because the system cycle of task execution in automotive electronic products is generally tens of milliseconds, the execution time of basic tasks such as backing signal acquisition or radar signal acquisition executed in the system cycle is generally several milliseconds or tens of milliseconds, and the execution time of time-consuming tasks such as algorithm tasks for planning backing paths is generally dozens of times of the system cycle, if the time-consuming tasks are executed for a long time, the execution efficiency of the basic tasks is directly influenced, and the functional safety cannot be ensured. The task scheduling method provided by the embodiment of the invention is applied to an embedded system of an automobile electronic product, so that the requirement of international standard ISO26262 for road vehicle function safety on task execution predictability is ensured, and a plurality of basic tasks are executed according to expected time and time periods.
The embodiment of the invention provides another task scheduling method, and as each basic task is executed according to the scheduled execution time of each basic task, the starting time of the execution of each basic task in the operation of the system can be predicted, and the execution predictability of each basic task is improved; when the system has the requirement of voting processing of the redundant channels, as each basic task in each channel is executed according to the scheduled execution time, the tasks of each channel can be synchronized only once in the power-on process, the consistency of the voting information of the channels on time is improved, and the advantage in the synchronous voting of the redundant channels is increased; the time-consuming tasks in the ready state are executed in the residual scheduled execution time of the basic tasks of which the actual execution time is less than the scheduled execution time, so that the possibility that the time-consuming tasks occupy system resources for a long time is reduced, the execution efficiency of the basic tasks is improved, the execution time is provided for the time-consuming tasks, the time-consuming tasks can be completed by executing the time-consuming tasks in the residual scheduled execution time of a limited number of basic tasks, and after the time-consuming tasks are executed, the execution results of the time-consuming tasks can be called as required, the basic tasks of the execution results can be called, all the tasks can be executed and completed, and the utilization rationality of the system resources is.
Referring to fig. 3, fig. 3 is a schematic flowchart of a task scheduling method according to another embodiment of the present invention, where the method includes:
s301: and generating a basic task linked list and a time-consuming task linked list.
The detailed description of step S301 is given in S201, and the embodiment of the present invention is not described herein again.
S302: executing the current basic task in the basic task linked list, and executing the step S303 under the condition that the current basic task is executed and a signal reaching the next basic task execution time is not generated; executing step S304 in a case where the current basic task is just completed when a signal to the next basic task execution time is generated; in the case where the current base task has not been completed but a signal to the next base task execution time has been generated, step S305 is performed.
And executing the current basic task which is in accordance with the current execution time in the basic task linked list, so that each basic task in the system period can be executed according to the scheduled execution time of each basic task. Here, since it is necessary to enable each base task to be executed in accordance with the scheduled execution time of each base task in the system cycle, the system generates a signal to the next base task execution time while the system executes the task. Executing step S303 if the current base task has not been completed yet but a signal to the next base task execution time has been generated; executing step S304 in a case where the current basic task is just completed when a signal to the next basic task execution time is generated; in the case where the current base task is completed and a signal to the next base task execution time is not generated, step S305 is performed.
Specifically, the steps in which the system generates a signal reaching the next base task execution time and performs the corresponding operation after generating the signal reaching the next base task execution time may be steps S31 to S34.
S31: a signal is generated that reaches the time of execution of the next base task.
Specifically, when the current basic task starts to execute, the scheduled execution time of the current basic task may be read from the configured information, a timer is started to time when the current basic task starts to execute, an interrupt event is triggered when the timed time reaches the scheduled execution time of the current basic task, where the interrupt event indicates that the next basic task execution time is reached, and the timer triggers the interrupt event, that is, a signal for generating the next basic task execution time is generated.
Or starting a timer to time after the current basic task is executed, and triggering an interrupt event when the timed time reaches the difference between the scheduled execution time and the actual execution time of the current basic task, wherein the interrupt event represents that the next basic task execution time is reached, and the current timer triggers the interrupt event, that is, a signal for reaching the next basic task execution time is generated. It should be noted that, here, the actual execution time of the current basic task may be obtained by reading the system clock when the current basic task starts to execute as the current basic task start execution time, reading the system clock when the current basic task finishes executing as the current basic task execution completion time, and subtracting the current basic task start execution time from the current basic task execution completion time.
Preferably, after the basic tasks in the basic task list start to be executed, whether the next basic task execution time is reached may be periodically determined by taking the minimum unit time of the scheduled execution time of each basic task as a fixed period. Specifically, a system millisecond timer may be started when the basic task is started to execute, and after the system millisecond timer triggers an interrupt event every millisecond, whether the next basic task execution time is reached is determined according to the scheduled execution time of each basic task in the configured information. And when the judgment result is that the next basic task execution time is reached, the judgment result is the generated signal reaching the next basic task execution time. Whether the next basic task execution time is reached is judged by triggering the interrupt event through the millisecond timer, the timer is simpler in the stage of configuring the timer, the time of the timer is uniform, and the risk of accumulated errors of the timer caused by updating the interrupt time of the timer for multiple times is reduced.
S32: judging the task attribute of the current execution task, and executing the step S33 under the condition that the current execution task is the task in the basic task linked list; in the case that the currently executed task is a task in the time-consuming task list, step S34 is executed.
When the interrupt event occurs through the timer to determine whether the next basic task execution time is reached, since the task being executed may be a task in the basic task chain table when the next basic task execution time is reached, for example, the current basic task is not executed or is just executed when the next basic task execution time is reached; the executing task may not be the task in the basic task list, for example, the executing task may be the task in the time-consuming task list, so that the task attribute of the currently executing task needs to be determined, and in the case that the currently executing task is the task in the basic task list, the step S33 is executed; in the case that the currently executed task is a task in the time-consuming task list, step S34 is executed.
S33: judging the execution state of the current execution task, and executing the step S304 when the execution state of the current execution task is finished; when the execution state of the currently executed task is in execution, step S305 is executed.
S34: and saving the linked list information of the time-consuming task linked list, scheduling the execution of the next basic task in the basic task linked list, and executing the step S302.
Because the next basic task needs to be executed according to the scheduled execution time, when the execution time of the next basic task is reached, the next basic task needs to be executed by scheduling the basic task linked list. Specifically, task switching may be realized by triggering an interrupt when the next base task execution time is reached. It should be noted that, when the next basic task execution time is reached, the currently executed task may be a task in the time-consuming task linked list, and then the linked list information of the time-consuming task linked list at this time needs to be stored, the linked list information of the basic task linked list is read, the linked list information includes stack information of tasks in the linked list, the current task scheduling point of the basic task linked list is scheduled according to the linked list information of the basic task linked list, the next basic task in the basic task linked list is scheduled to be executed, and the step S302 is executed.
In this way, through steps S31 to S34, the system generates a signal of reaching the next base task execution time according to the scheduled execution time of the base task while executing the task, and executes a corresponding operation when generating the signal of reaching the next base task execution time.
S303: and after the current basic task is executed, scheduling the time-consuming task to the time-consuming task linked list to execute the time-consuming task in a ready state, wherein the execution result of the time-consuming task is called by the basic task needing to call the execution result.
Specifically, after the current basic task is executed, and under the condition that a signal reaching the execution time of the next basic task is not generated, task switching can be realized by triggering an interrupt. After the interruption occurs, the linked list information of the basic task linked list can be stored, the linked list information of the time-consuming task linked list is read, the linked list information comprises stack information of tasks in the linked list, and the current task scheduling point of the time-consuming task linked list is scheduled according to the linked list information. The time-consuming tasks in the time-consuming task linked list can be sequentially arranged according to a configuration sequence, after the time-consuming tasks are scheduled to the time-consuming task linked list, whether the time-consuming tasks in the ready state exist can be circularly and sequentially inquired in the time-consuming task linked list by taking the current task scheduling point as a starting point, and if the time-consuming tasks exist, the time-consuming tasks in the ready state are executed.
In an embodiment of the present invention, an idle task may be configured in a time-consuming task list, and the idle task state is configured in a ready state, where the time-consuming tasks and the idle tasks in the time-consuming task list may be sequentially arranged according to a configuration order, and after the time-consuming tasks and the idle tasks in the ready state are scheduled in the time-consuming task list, the current task scheduling point may be taken as a starting point to circularly and sequentially query whether there is a task in the ready state in the time-consuming task list, and if there is a task in the ready state, the task in the ready state is executed, that is, if the idle task in the ready state in the time-consuming task list is before the time-consuming task in the ready state, the idle task in the ready state may be executed first, and after the execution of the idle task in the ready state is finished. Further, priority configuration may be performed on the time-consuming task and the idle task, for example, the priority of the time-consuming task may be configured to be higher than that of the idle task, so that after the time-consuming task is scheduled to the time-consuming task linked list, a task in a ready state in the time-consuming task linked list may be executed according to the priority.
It should be noted that, after the execution of the time-consuming task is completed, the execution result of the time-consuming task may be directly provided to the basic task that needs to call the execution result, so that the basic task may directly call the execution result in the subsequent execution; the execution result of the time-consuming task can also be stored by using a fixed storage location, the data in the storage location is read when the basic task needing to call the execution result is executed in each system cycle, the execution result is stored to the storage location when the time-consuming task is executed, and the execution result can be called when the basic task reads the execution result.
Here, since the time-consuming task linked list has been scheduled to execute the time-consuming task in the ready state after the current base task is executed, when the next base task execution time is reached, the current execution task is a task in the time-consuming task linked list. According to step S34, when it is determined that the currently executed task is a task in the time-consuming task linked list, the linked list information of the time-consuming task linked list is saved, the next basic task in the basic task linked list is scheduled to be executed, and step S302 is executed.
S304: and continuing to execute the next basic task in the basic task linked list, and executing the step S302.
In step S303, when the current basic task is completed and the signal reaching the next basic task execution time is not generated, the time-consuming task linked list is scheduled to execute the time-consuming task in the ready state after the current basic task is completed, so that when the signal reaching the next basic task execution time is generated, if it is determined that the current execution task is the task in the basic task linked list and the task state of the current execution task is completed, the current basic task is just completed when the signal reaching the next basic task execution time is generated.
Since the current basic task is just completed when a signal reaching the execution time of the next basic task is generated, the execution completion time of the current basic task is the scheduled execution start time of the next basic task, and since the next basic task needs to be executed according to the scheduled execution time, the execution of the next basic task in the basic task chain table needs to be continued, and step S302 is executed.
S305: the system enters a safe state.
And under the condition of generating a signal reaching the execution time of the next basic task, if the current execution task is judged to be the task in the basic task chain table and the task state of the current execution task is in execution, the current execution task is not completed but the signal reaching the execution time of the next basic task is generated.
When the current basic task is not completed but a signal reaching the execution time of the next basic task is generated, the current basic task has a timeout fault, each basic task cannot be executed according to the scheduled execution time, and the system enters a safe state, wherein the system can directly end the execution of the tasks and send a fault signal, such as lighting of a control indicator lamp or ringing of a buzzer, so as to prompt a user to perform corresponding processing; the system can also be restarted, if overtime faults occur in the process of executing the tasks after restarting, the task is finished and fault signals are sent out, so that the safety and reliability of the system are improved.
Therefore, in the running process of the system, the task which is scheduled to the time-consuming task chain table execution ready state is realized in the residual scheduled execution time of the basic task of which the actual execution time is less than the scheduled execution time, and the time-consuming task can be scheduled and executed in the residual scheduled execution time of the basic task of which the limited actual execution time is less than the scheduled execution time after being triggered to the ready state because the time-consuming task state in the time-consuming task chain table can be triggered to the ready state by the basic task, and the time-consuming task can be completed through the residual scheduled execution time of the basic task of which the limited actual execution time is less than the scheduled execution time. On one hand, each basic task is guaranteed to be executed strictly according to the scheduled execution time, the possibility that the time-consuming task occupies system resources for a long time is reduced, and the execution efficiency of the basic task is improved; on the other hand, the residual scheduled execution time of the basic task is reasonably utilized, the execution time is provided for the time-consuming task, and the utilization rationality of system resources is improved.
It should be noted that, when the system has the need of performing voting processing on redundant channels, for example, multiple channels are used for parallel processing and carrying the same task, each channel performs task level voting or periodic level voting, and the system determines a conclusion according to the result of the voting processing on multiple channels, so that the reliability of the system is further improved.
In one embodiment of the invention, the task schedule is a task schedule based on safety requirements of automotive electronic functions. Because the system cycle of task execution in automotive electronic products is generally tens of milliseconds, the execution time of basic tasks such as backing signal acquisition or radar signal acquisition executed in the system cycle is generally several milliseconds or tens of milliseconds, and the execution time of time-consuming tasks such as algorithm tasks for planning backing paths is generally dozens of times of the system cycle, if the time-consuming tasks are executed for a long time, the execution efficiency of the basic tasks is directly influenced, and the functional safety cannot be ensured. The task scheduling method provided by the embodiment of the invention is applied to an embedded system of an automobile electronic product, so that the requirement of international standard ISO26262 for road vehicle function safety on task execution predictability is ensured, and a plurality of basic tasks are executed according to expected time and time periods.
The embodiment of the invention provides another task scheduling method, and as each basic task is executed according to the scheduled execution time of each basic task, the starting time of the execution of each basic task in the operation of the system can be predicted, and the execution predictability of each basic task is improved; when the system has the requirement of voting processing of the redundant channels, as each basic task in each channel is executed according to the scheduled execution time, the tasks of each channel can be synchronized only once in the power-on process, the consistency of the voting information of the channels on time is improved, and the advantage in the synchronous voting of the redundant channels is increased; the time-consuming tasks in the ready state are executed in the residual scheduled execution time of the basic tasks of which the actual execution time is less than the scheduled execution time, so that the possibility that the time-consuming tasks occupy system resources for a long time is reduced, the execution efficiency of the basic tasks is improved, the execution time is provided for the time-consuming tasks, the time-consuming tasks can be completed by executing the time-consuming tasks in the residual scheduled execution time of a limited number of basic tasks, and after the time-consuming tasks are executed, the execution results of the time-consuming tasks can be called as required, the basic tasks of the execution results can be called, all the tasks can be executed and completed, and the utilization rationality of the system resources is.
Referring to fig. 4, fig. 4 is a schematic structural diagram of a task scheduling apparatus according to an embodiment of the present invention, where the apparatus includes:
and the basic task executing module 401 is configured to execute each basic task according to the scheduled execution time of each basic task, where at least one basic task in each basic task triggers a time-consuming task state to a ready state in the execution process.
And the time-consuming task executing module 402 is configured to execute the time-consuming task in the ready state within the remaining scheduled execution time of the basic task whose actual execution time is less than the scheduled execution time, where an execution result of the time-consuming task is called by the basic task that needs to call the execution result.
In one embodiment of the invention, the actual execution time of the time-consuming task is greater than the planned execution time of the base task that triggered the time-consuming task.
In one embodiment of the invention, the actual execution time of the time-consuming task is greater than the remaining scheduled execution time of the base task that triggered the time-consuming task.
In one embodiment of the present invention, the scheduled execution time of each of the basic tasks is greater than the actual execution time.
In one embodiment of the invention, the task schedule is a task schedule based on safety requirements of automotive electronic functions.
The embodiment of the invention provides a task scheduling device, and each basic task is executed according to the scheduled execution time of each basic task, so that the starting time of the execution of each basic task in the operation of a system can be predicted, and the execution predictability of each basic task is improved; when the system has the requirement of voting processing of the redundant channels, as each basic task in each channel is executed according to the scheduled execution time, the tasks of each channel can be synchronized only once in the power-on process, the consistency of the voting information of the channels on time is improved, and the advantage in the synchronous voting of the redundant channels is increased; the time-consuming tasks in the ready state are executed in the residual scheduled execution time of the basic tasks of which the actual execution time is less than the scheduled execution time, so that the possibility that the time-consuming tasks occupy system resources for a long time is reduced, the execution efficiency of the basic tasks is improved, the execution time is provided for the time-consuming tasks, the time-consuming tasks can be completed by executing the time-consuming tasks in the residual scheduled execution time of a limited number of basic tasks, and after the time-consuming tasks are executed, the execution results of the time-consuming tasks can be called as required, the basic tasks of the execution results can be called, all the tasks can be executed and completed, and the utilization rationality of the system resources is.
Referring to fig. 5, fig. 5 is a schematic structural diagram of another task scheduling apparatus according to an embodiment of the present invention, where the apparatus includes:
the task linked list generating module 501 is configured to generate a basic task linked list and a time-consuming task linked list, where the basic task linked list and the time-consuming task linked list are two different task linked lists.
A basic task execution module 502, configured to execute each basic task according to a scheduled execution time of each basic task, where at least one basic task in each basic task triggers a time-consuming task state to a ready state in an execution process; and the scheduling unit is used for scheduling and executing the next basic task in the basic task linked list under the condition that the execution time of the next basic task is reached.
The comparing module 503 is configured to compare a size relationship between an actual execution time of the current basic task and a scheduled execution time after the current basic task is executed.
And the time-consuming task executing module 504 is configured to, when the actual execution time of the current basic task is smaller than the scheduled execution time, schedule and execute the time-consuming task in the ready state in the time-consuming task linked list after the current basic task is executed, where an execution result of the time-consuming task is required to be called by the basic task of the execution result.
In an embodiment of the present invention, the basic task execution module is further configured to determine whether a currently executed task is a task in the time-consuming task linked list when a next basic task execution time is reached; and the link list information of the time-consuming task link list is saved and the next basic task in the basic task link list is scheduled and executed under the condition that the current execution task is the task in the time-consuming task link list.
In one embodiment of the invention, the apparatus further comprises:
a basic task execution time reaching determining module, configured to determine whether the next basic task execution time is reached, with a minimum unit time of the scheduled execution time of each basic task as a period; or
The timer is used for starting timing when the current basic task starts to execute, and triggering an interrupt event when the timing time reaches the scheduled execution time of the current basic task, wherein the interrupt event represents the execution time of the next basic task; or
And the timer is used for starting timing after the current basic task is executed, and triggering an interrupt event when the timing time reaches the difference between the planned execution time and the actual execution time of the current basic task, wherein the interrupt event represents the execution time of the next basic task.
In one embodiment of the invention, the actual execution time of the time-consuming task is greater than the planned execution time of the base task that triggered the time-consuming task.
In one embodiment of the invention, the actual execution time of the time-consuming task is greater than the remaining scheduled execution time of the base task that triggered the time-consuming task.
In one embodiment of the present invention, the scheduled execution time of each of the basic tasks is greater than the actual execution time.
In one embodiment of the invention, the task schedule is a task schedule based on safety requirements of automotive electronic functions.
The embodiment of the invention provides another task scheduling device, and as each basic task is executed according to the scheduled execution time of each basic task, the starting time of the execution of each basic task in the operation of the system can be predicted, and the execution predictability of each basic task is improved; when the system has the requirement of voting processing of the redundant channels, as each basic task in each channel is executed according to the scheduled execution time, the tasks of each channel can be synchronized only once in the power-on process, the consistency of the voting information of the channels on time is improved, and the advantage in the synchronous voting of the redundant channels is increased; the time-consuming tasks in the ready state are executed in the residual scheduled execution time of the basic tasks of which the actual execution time is less than the scheduled execution time, so that the possibility that the time-consuming tasks occupy system resources for a long time is reduced, the execution efficiency of the basic tasks is improved, the execution time is provided for the time-consuming tasks, the time-consuming tasks can be completed by executing the time-consuming tasks in the residual scheduled execution time of a limited number of basic tasks, and after the time-consuming tasks are executed, the execution results of the time-consuming tasks can be called as required, the basic tasks of the execution results can be called, all the tasks can be executed and completed, and the utilization rationality of the system resources is.
Referring to fig. 6, fig. 6 is a schematic structural diagram of a task scheduling apparatus according to another embodiment of the present invention, where the apparatus includes:
the task linked list generating module 601 is configured to generate a basic task linked list and a time-consuming task linked list, where the basic task linked list and the time-consuming task linked list are two different task linked lists.
A basic task execution module 602, configured to execute each basic task according to a scheduled execution time of each basic task, where at least one basic task in each basic task triggers a time-consuming task state to a ready state in an execution process; and the scheduling unit is used for scheduling and executing the next basic task in the basic task linked list under the condition that the execution time of the next basic task is reached.
And a time-consuming task executing module 603, configured to schedule and execute the time-consuming task in the ready state in the time-consuming task linked list after the current basic task is executed and a signal reaching the next basic task execution time is not generated, where an execution result of the time-consuming task is called by a basic task that needs to call the execution result.
In an embodiment of the present invention, the basic task execution module is further configured to determine whether a currently executed task is a task in the time-consuming task linked list when a next basic task execution time is reached; and the link list information of the time-consuming task link list is saved and the next basic task in the basic task link list is scheduled and executed under the condition that the current execution task is the task in the time-consuming task link list.
In one embodiment of the invention, the apparatus further comprises:
a basic task execution time reaching determining module, configured to determine whether the next basic task execution time is reached with a minimum unit time of the scheduled execution time of each basic task as a period, where when a determination result is that the next basic task execution time is reached, the determination result is a generated signal reaching the next basic task execution time; or
The timer is used for starting timing when the current basic task starts to execute, and triggering an interrupt event when the timing time reaches the scheduled execution time of the current basic task, wherein the interrupt event represents that the next basic task execution time is reached, and the timer triggers the interrupt event, namely a signal for generating the next basic task execution time is generated; or
And the timer is used for starting timing after the current basic task is executed, triggering an interrupt event when the timing time reaches the difference between the scheduled execution time and the actual execution time of the current basic task, wherein the interrupt event represents that the next basic task execution time is reached, and the interrupt event generated by the timer is a signal for generating the next basic task execution time.
In one embodiment of the invention, the actual execution time of the time-consuming task is greater than the planned execution time of the base task that triggered the time-consuming task.
In one embodiment of the invention, the actual execution time of the time-consuming task is greater than the remaining scheduled execution time of the base task that triggered the time-consuming task.
In one embodiment of the present invention, the scheduled execution time of each of the basic tasks is greater than the actual execution time.
In one embodiment of the invention, the task schedule is a task schedule based on safety requirements of automotive electronic functions.
The embodiment of the invention provides another task scheduling device, and as each basic task is executed according to the scheduled execution time of each basic task, the starting time of the execution of each basic task in the operation of the system can be predicted, and the execution predictability of each basic task is improved; when the system has the requirement of voting processing of the redundant channels, as each basic task in each channel is executed according to the scheduled execution time, the tasks of each channel can be synchronized only once in the power-on process, the consistency of the voting information of the channels on time is improved, and the advantage in the synchronous voting of the redundant channels is increased; the time-consuming tasks in the ready state are executed in the residual scheduled execution time of the basic tasks of which the actual execution time is less than the scheduled execution time, so that the possibility that the time-consuming tasks occupy system resources for a long time is reduced, the execution efficiency of the basic tasks is improved, the execution time is provided for the time-consuming tasks, the time-consuming tasks can be completed by executing the time-consuming tasks in the residual scheduled execution time of a limited number of basic tasks, and after the time-consuming tasks are executed, the execution results of the time-consuming tasks can be called as required, the basic tasks of the execution results can be called, all the tasks can be executed and completed, and the utilization rationality of the system resources is.
Referring to fig. 7, fig. 7 is a schematic structural diagram of an electronic device according to an embodiment of the present invention, where the electronic device includes:
a memory 701 for storing a computer program;
the processor 702 is configured to implement the steps of the task scheduling method provided in the foregoing embodiments when executing the program stored in the memory.
In one embodiment of the present invention, the electronic device may further include a communication interface, a communication bus, an input/output interface, and a display, wherein the memory, the processor, the input/output interface, the display, and the communication interface are configured to communicate with each other via the communication bus.
The memory may include high-speed random access memory (as a cache) and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device, and accordingly, the memory may also include a memory controller to provide the processor and the input-output interface access to the memory. The Processor may be a general-purpose Processor, and includes a Central Processing Unit (CPU), a Network Processor (NP), and the like; the Integrated Circuit may also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other Programmable logic device, a discrete Gate or transistor logic device, or a discrete hardware component. The input-output interface forwards commands or data input by a user via an input-output device (e.g., sensor, keyboard, touch screen). The display displays various information to the user. The communication interface enables communication between the electronic device and other devices, for example, the communication interface may be connected to a network by wire or wirelessly to connect to external other devices. The communication bus may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like, and may be divided into an address bus, a data bus, a control bus, and the like.
The embodiment of the invention provides electronic equipment, and each basic task is executed according to the scheduled execution time of each basic task, so that the starting time of the execution of each basic task in the operation of a system can be predicted, and the execution predictability of each basic task is improved; when the system has the requirement of voting processing of the redundant channels, as each basic task in each channel is executed according to the scheduled execution time, the tasks of each channel can be synchronized only once in the power-on process, the consistency of the voting information of the channels on time is improved, and the advantage in the synchronous voting of the redundant channels is increased; the time-consuming tasks in the ready state are executed in the residual scheduled execution time of the basic tasks of which the actual execution time is less than the scheduled execution time, so that the possibility that the time-consuming tasks occupy system resources for a long time is reduced, the execution efficiency of the basic tasks is improved, the execution time is provided for the time-consuming tasks, the time-consuming tasks can be completed by executing the time-consuming tasks in the residual scheduled execution time of a limited number of basic tasks, and after the time-consuming tasks are executed, the execution results of the time-consuming tasks can be called as required, the basic tasks of the execution results can be called, all the tasks can be executed and completed, and the utilization rationality of the system resources is.
An embodiment of the present invention further provides a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and the computer program, when executed by a processor, implements the steps of the task scheduling method provided in the foregoing embodiment, where the computer-readable storage medium may be a Read-Only Memory (ROM), a Random-Access Memory (RAM), a Compact Disc Read-Only Memory (CD-ROM), a magnetic tape, a floppy disk, an optical data storage device, and the like. Because each basic task is executed according to the scheduled execution time of each basic task, the starting time of each basic task in the operation of the system can be predicted, and the execution predictability of each basic task is improved; when the system has the requirement of voting processing of the redundant channels, as each basic task in each channel is executed according to the scheduled execution time, the tasks of each channel can be synchronized only once in the power-on process, the consistency of the voting information of the channels on time is improved, and the advantage in the synchronous voting of the redundant channels is increased; the time-consuming tasks in the ready state are executed in the residual scheduled execution time of the basic tasks of which the actual execution time is less than the scheduled execution time, so that the possibility that the time-consuming tasks occupy system resources for a long time is reduced, the execution efficiency of the basic tasks is improved, the execution time is provided for the time-consuming tasks, the time-consuming tasks can be completed by executing the time-consuming tasks in the residual scheduled execution time of a limited number of basic tasks, and after the time-consuming tasks are executed, the execution results of the time-consuming tasks can be called as required, the basic tasks of the execution results can be called, all the tasks can be executed and completed, and the utilization rationality of the system resources is.
The embodiment of the present invention further provides a computer program product, which when running on a computer, causes the computer to execute the steps of implementing the task scheduling method provided by the above embodiment. The computer program product may include one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the application to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored on or transmitted over a computer-readable storage medium. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others. Because each basic task is executed according to the scheduled execution time of each basic task, the starting time of each basic task in the operation of the system can be predicted, and the execution predictability of each basic task is improved; when the system has the requirement of voting processing of the redundant channels, as each basic task in each channel is executed according to the scheduled execution time, the tasks of each channel can be synchronized only once in the power-on process, the consistency of the voting information of the channels on time is improved, and the advantage in the synchronous voting of the redundant channels is increased; the time-consuming tasks in the ready state are executed in the residual scheduled execution time of the basic tasks of which the actual execution time is less than the scheduled execution time, so that the possibility that the time-consuming tasks occupy system resources for a long time is reduced, the execution efficiency of the basic tasks is improved, the execution time is provided for the time-consuming tasks, the time-consuming tasks can be completed by executing the time-consuming tasks in the residual scheduled execution time of a limited number of basic tasks, and after the time-consuming tasks are executed, the execution results of the time-consuming tasks can be called as required, the basic tasks of the execution results can be called, all the tasks can be executed and completed, and the utilization rationality of the system resources is.
For the apparatus, electronic device, and computer-readable storage medium embodiments, since they are substantially similar to the method embodiments, the description is relatively simple, and reference may be made to some descriptions of the method embodiments for relevant points.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
Those skilled in the art will appreciate that all or part of the steps in the above method embodiments may be implemented by a program to instruct relevant hardware to perform the steps, and the program may be stored in a computer-readable storage medium, which is referred to herein as a storage medium, such as: ROM/RAM, magnetic disk, optical disk, etc.
The above description is only for the preferred embodiment of the present invention, and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention shall fall within the protection scope of the present invention.

Claims (12)

1. A method for task scheduling, the method comprising:
executing each basic task according to the scheduled execution time of each basic task, wherein at least one basic task in each basic task triggers the time-consuming task state to be a ready state in the execution process;
and executing the time-consuming task in a ready state within the residual scheduled execution time of the basic task of which the actual execution time is less than the scheduled execution time, wherein the execution result of the time-consuming task is called by the basic task needing to call the execution result.
2. The method of claim 1, wherein the actual execution time of the time consuming task is greater than the planned execution time or the remaining planned execution time of a base task that triggered the time consuming task;
the planned execution time of each basic task is greater than the actual execution time;
the task scheduling is based on the safety requirement of the automobile electronic function.
3. The method according to claim 1 or 2, wherein the basic task linked list where each basic task is located and the time consuming task linked list where the time consuming task is located are two different task linked lists;
within the remaining scheduled execution time of the basic task of which the actual execution time is less than the scheduled execution time, executing the time-consuming task in the ready state includes:
under the condition that the actual execution time of the current basic task is less than the scheduled execution time, after the current basic task is executed, scheduling and executing the time-consuming task in the ready state in the time-consuming task linked list;
and under the condition that the execution time of the next basic task is reached, scheduling and executing the next basic task in the basic task linked list.
4. The method of claim 3, wherein the case that the actual execution time of the current base task is less than the scheduled execution time includes a case that the current base task is executed completely and a signal to a next base task execution time is not generated; or
Under the condition that the actual execution time of the current basic task is less than the scheduled execution time, after the current basic task is executed, and before the time-consuming task in the ready state in the time-consuming task linked list is scheduled and executed, the method further comprises the following steps: and after the current basic task is executed, comparing the size relationship between the actual execution time of the current basic task and the scheduled execution time.
5. The method of claim 3, wherein when a next base task execution time is reached, the method further comprises, before scheduling execution of the next base task in the base task chain table:
judging whether the next basic task execution time is reached or not by taking the minimum unit time of the planned execution time of each basic task as a period; or
Starting timing when a current basic task starts to execute, and triggering an interruption event when the timing time reaches the scheduled execution time of the current basic task, wherein the interruption event represents the time of reaching the next basic task; or
Starting timing after the current basic task is executed, and triggering an interruption event when the timing time reaches the difference between the planned execution time and the actual execution time of the current basic task, wherein the interruption event represents the time when the next basic task is executed.
6. The method of claim 3, wherein scheduling execution of the next base task in the base task list upon reaching a next base task execution time comprises:
under the condition that the next basic task execution time is reached, judging whether the current execution task is a task in the time-consuming task linked list or not;
and under the condition that the current execution task is the task in the time-consuming task linked list, storing linked list information of the time-consuming task linked list, and scheduling and executing the next basic task in the basic task linked list.
7. A task scheduling apparatus, characterized in that the apparatus comprises:
the basic task execution module is used for executing each basic task according to the scheduled execution time of each basic task, and at least one basic task in each basic task triggers the time-consuming task state into a ready state in the execution process;
and the time-consuming task execution module is used for executing the time-consuming task in a ready state within the residual scheduled execution time of the basic task of which the actual execution time is less than the scheduled execution time, and the execution result of the time-consuming task is called by the basic task of which the execution result needs to be called.
8. The apparatus of claim 7, wherein the actual execution time of the time-consuming task is greater than a scheduled execution time or a remaining scheduled execution time of a base task that triggered the time-consuming task;
the planned execution time of each basic task is greater than the actual execution time;
the task scheduling is based on the safety requirement of the automobile electronic function.
9. The device according to claim 7 or 8, wherein the basic task chain table where each basic task is located and the time-consuming task chain table where the time-consuming task is located are two different task chain tables;
the time-consuming task execution module is used for scheduling and executing the time-consuming tasks in the ready state in the time-consuming task linked list after the current basic task is executed under the condition that the actual execution time of the current basic task is less than the scheduled execution time;
the basic task execution module is further configured to schedule and execute the next basic task in the basic task linked list when the next basic task execution time is reached.
10. The apparatus of claim 9, wherein the case that the actual execution time of the current base task is less than the scheduled execution time comprises a case that the current base task is executed completely and a signal to a next base task execution time is not generated; or
The device further comprises: and the comparison module is used for comparing the size relationship between the actual execution time of the current basic task and the planned execution time after the current basic task is executed.
11. The apparatus of claim 9, further comprising:
a basic task execution time reaching determining module, configured to determine whether the next basic task execution time is reached, with a minimum unit time of the scheduled execution time of each basic task as a period; or
The timer is used for starting timing when the current basic task starts to execute, and triggering an interrupt event when the timing time reaches the scheduled execution time of the current basic task, wherein the interrupt event represents the execution time of the next basic task; or
And the timer is used for starting timing after the current basic task is executed, and triggering an interrupt event when the timing time reaches the difference between the planned execution time and the actual execution time of the current basic task, wherein the interrupt event represents the execution time of the next basic task.
12. The apparatus according to claim 9, wherein the basic task execution module is further configured to determine whether a currently executed task is a task in the time-consuming task linked list when a next basic task execution time is reached; and the link list information of the time-consuming task link list is saved and the next basic task in the basic task link list is scheduled and executed under the condition that the current execution task is the task in the time-consuming task link list.
CN201910631979.5A 2019-07-12 2019-07-12 Task scheduling method and device Pending CN112214291A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910631979.5A CN112214291A (en) 2019-07-12 2019-07-12 Task scheduling method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910631979.5A CN112214291A (en) 2019-07-12 2019-07-12 Task scheduling method and device

Publications (1)

Publication Number Publication Date
CN112214291A true CN112214291A (en) 2021-01-12

Family

ID=74048714

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910631979.5A Pending CN112214291A (en) 2019-07-12 2019-07-12 Task scheduling method and device

Country Status (1)

Country Link
CN (1) CN112214291A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113975815A (en) * 2021-11-04 2022-01-28 上海鱼尔网络科技有限公司 Task transfer method, system, device, equipment, storage medium and program product
CN114661449A (en) * 2022-05-19 2022-06-24 四川傲势科技有限公司 Task scheduling method, embedded system and computer readable storage medium
FR3126796A1 (en) * 2021-09-09 2023-03-10 Idemia France Improved execution of an operation in a secure element

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014094516A1 (en) * 2012-12-18 2014-06-26 华为技术有限公司 Real-time multi-task scheduling method and device
CN104915251A (en) * 2015-06-05 2015-09-16 北京京东尚科信息技术有限公司 Task scheduling method and device
CN106773711A (en) * 2017-01-13 2017-05-31 清华大学 The hybrid tasks scheduling method and model of a kind of railway locomotive operation steerable system
CN109144707A (en) * 2017-06-16 2019-01-04 田文洪 A kind of unbalanced method of processing big data platform Spark data distribution
CN109558227A (en) * 2018-11-12 2019-04-02 中国航空工业集团公司西安飞行自动控制研究所 A kind of task based access control executes the rate monotonic tasks dispatching method of budget

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014094516A1 (en) * 2012-12-18 2014-06-26 华为技术有限公司 Real-time multi-task scheduling method and device
CN104915251A (en) * 2015-06-05 2015-09-16 北京京东尚科信息技术有限公司 Task scheduling method and device
CN106773711A (en) * 2017-01-13 2017-05-31 清华大学 The hybrid tasks scheduling method and model of a kind of railway locomotive operation steerable system
CN109144707A (en) * 2017-06-16 2019-01-04 田文洪 A kind of unbalanced method of processing big data platform Spark data distribution
CN109558227A (en) * 2018-11-12 2019-04-02 中国航空工业集团公司西安飞行自动控制研究所 A kind of task based access control executes the rate monotonic tasks dispatching method of budget

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3126796A1 (en) * 2021-09-09 2023-03-10 Idemia France Improved execution of an operation in a secure element
WO2023036788A1 (en) * 2021-09-09 2023-03-16 Idemia France Improved execution of an operation in a secure element
CN113975815A (en) * 2021-11-04 2022-01-28 上海鱼尔网络科技有限公司 Task transfer method, system, device, equipment, storage medium and program product
CN114661449A (en) * 2022-05-19 2022-06-24 四川傲势科技有限公司 Task scheduling method, embedded system and computer readable storage medium

Similar Documents

Publication Publication Date Title
JP5405320B2 (en) Virtual machine control device, virtual machine control method, and virtual machine control program
CN112214291A (en) Task scheduling method and device
CN107491346B (en) Application task processing method, device and system
CN108334396B (en) Data processing method and device, and resource group creation method and device
US20170329632A1 (en) Device scheduling method, task manager and storage medium
CN111104227B (en) Resource control method and device of K8s platform and related components
CN108701055B (en) Vehicle control device and vehicle system
CN110262878B (en) Timed task processing method, device, equipment and computer readable storage medium
US20100122263A1 (en) Method and device for managing the use of a processor by several applications, corresponding computer program and storage means
CN111897637A (en) Job scheduling method, device, host and storage medium
CN108292236B (en) Information processing method and device
CN107547285B (en) Configuration information storage method and device
CN112068960A (en) CPU resource allocation method, device, storage medium and equipment
CN110555009B (en) Processing method and device for Network File System (NFS) service
CN116974728A (en) Singlechip task scheduling method, singlechip product and storage medium
CN116880986A (en) Task scheduling method and device, vehicle-mounted controller, electronic equipment and storage medium
CN110209548B (en) Service control method, system, electronic device and computer readable storage medium
JPWO2018211865A1 (en) Vehicle control device
JPWO2005013130A1 (en) Real-time control system
CN109491771B (en) Task processing method based on system performance optimization and related equipment
CN114416322A (en) Task scheduling method and device based on double linked lists, electronic equipment and storage medium
RU2239228C2 (en) Method for distributing time of central processor between tasks in automatized system for controlling technological processes
CN113220442B (en) Data scheduling method and device and electronic equipment
CN116069471B (en) Deterministic scheduling method and device for tasks and electronic equipment
CN109766170A (en) The dynamic method for restarting of memory, mobile terminal and its application program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination