TASK SCHEDULING METHOD AND APPARATUS
First Claim
1. An apparatus for scheduling execution of a plurality of tasks by a processor, each of the plurality of tasks having an associated periodicity and an associated priority based upon the associated periodicity comprising:
- the processor to execute each of the plurality of tasks periodically according to the associated periodicity of the task; and
a scheduler, at each of a series of scheduling time points, to;
update the priorities of the plurality of tasks;
determine whether a task needs to be executed in accordance with the periodicity associated with that task; and
schedule the plurality of tasks that need to be executed in accordance with the priorities of the tasks, wherein the scheduler is to update the priorities of the plurality of tasks by;
identifying an unexecuted task which, at a preceding scheduling time point, was scheduled for execution but which, since that preceding scheduling time point, has not been executed; and
increasing the priority of the unexecuted task by setting the priority of the unexecuted task as greater than the priority of other tasks that have the same periodicity as the unexecuted task and that are not themselves unexecuted tasks.
21 Assignments
0 Petitions
Accused Products
Abstract
An apparatus schedules execution of a plurality of tasks by a processor. Each task has an associated periodicity and an associated priority based upon the associated periodicity. The processor executes each of the plurality of tasks periodically according to the associated periodicity of the task. A scheduler, at each of a series of scheduling time points updates the priorities of the plurality of tasks and schedules the tasks that need to be executed in accordance with their priorities. The scheduler identifies an unexecuted task which, at a preceding scheduling time point, was scheduled for execution but which, since that preceding scheduling time point, has not been executed. The scheduler sets the priority of the unexecuted task as greater than the priority of other tasks that have the same periodicity as the unexecuted task and that are not themselves unexecuted tasks.
-
Citations
20 Claims
-
1. An apparatus for scheduling execution of a plurality of tasks by a processor, each of the plurality of tasks having an associated periodicity and an associated priority based upon the associated periodicity comprising:
-
the processor to execute each of the plurality of tasks periodically according to the associated periodicity of the task; and a scheduler, at each of a series of scheduling time points, to; update the priorities of the plurality of tasks; determine whether a task needs to be executed in accordance with the periodicity associated with that task; and schedule the plurality of tasks that need to be executed in accordance with the priorities of the tasks, wherein the scheduler is to update the priorities of the plurality of tasks by; identifying an unexecuted task which, at a preceding scheduling time point, was scheduled for execution but which, since that preceding scheduling time point, has not been executed; and increasing the priority of the unexecuted task by setting the priority of the unexecuted task as greater than the priority of other tasks that have the same periodicity as the unexecuted task and that are not themselves unexecuted tasks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory computer-readable medium comprising instructions to manipulate one or more processors on one or more computing devices, the instructions comprising a plug-in to an operating system, the plug-in containing:
-
instructions to update the priorities of a plurality of tasks, each of the plurality of tasks having an associated periodicity and each of the plurality of tasks to be executed according to the associated periodicity; instructions to determine whether a task of the plurality of tasks needs to be executed in accordance with the periodicity associated with that task; and instructions to schedule the plurality of tasks that need to be executed in order to complete them in accordance with their periodicity. - View Dependent Claims (13, 14)
-
-
15. A method of scheduling execution of a plurality of tasks by a processor, each of the plurality of tasks having an associated periodicity, each of the plurality of tasks having an associated priority based upon the associated periodicity of the task, and the plurality of tasks arranged in priority queues, wherein all tasks in a priority queue have the same associated periodicity, the method comprising:
-
executing tasks of the plurality of tasks by the processor periodically, according to the associated periodicity of the tasks; and at each of a series of scheduling time points; updating the priorities of the tasks; and scheduling the plurality of tasks that need to be executed in accordance with the priorities of the tasks, wherein the updating comprises; searching for a task with higher priority than the scheduled tasks; if a task with a higher priority than a scheduled task is found, attempting to replace the scheduled task with the higher priority task on a schedule of tasks; and if the attempt is not successful, increasing the priority of the task with the higher priority within the priority queue of the higher priority task. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification