TASK SCHEDULING METHOD AND APPARATUS
First Claim
1. A method of scheduling execution of a plurality of tasks by a processor, the processor having a processor memory, the processor being arranged to load into the processor memory, during execution of a current task, data for a task that is scheduled for execution after the processor has completed the current task, the method comprising the steps of:
- scheduling a next task for execution by the processor after the processor has completed a current task;
determining whether there is a high priority task to be executed by the processor;
if there is a high priority task to be executed by the processor;
determining whether the processor has begun loading the data for the next task into the processor memory; and
if the processor has not begun loading the data for the next task into the processor memory, scheduling the high priority task, instead of the next task, for execution by the processor after the processor has completed the current task.
31 Assignments
0 Petitions
Accused Products
Abstract
A method of scheduling execution of a plurality of tasks by a processor, the processor having a processor memory, the processor being arranged to load into the processor memory, during execution of a current task, data for a task that is scheduled for execution after the processor has completed the current task, the method comprising the steps of scheduling a next task for execution by the processor after the processor has completed a current task, and determining whether there is a high priority task to be executed by the processor, if there is a high priority task to be executed by the processor: determining whether the processor has begun loading the data for the next task into the processor memory, and if the processor has not begun loading the data for the next task into the processor memory, scheduling the high priority task, instead of the next task, for execution by the processor after the processor has completed the current task.
-
Citations
53 Claims
-
1. A method of scheduling execution of a plurality of tasks by a processor, the processor having a processor memory, the processor being arranged to load into the processor memory, during execution of a current task, data for a task that is scheduled for execution after the processor has completed the current task, the method comprising the steps of:
-
scheduling a next task for execution by the processor after the processor has completed a current task; determining whether there is a high priority task to be executed by the processor; if there is a high priority task to be executed by the processor; determining whether the processor has begun loading the data for the next task into the processor memory; and if the processor has not begun loading the data for the next task into the processor memory, scheduling the high priority task, instead of the next task, for execution by the processor after the processor has completed the current task. - View Dependent Claims (5)
-
-
2-4. -4. (canceled)
-
6. A method of scheduling execution of a plurality of tasks by a processor, each of the tasks having an associated periodicity and each of the tasks to be executed by the processor periodically according to the associated periodicity, the method comprising performing, at each of a series of scheduling time points, the steps of:
-
updating the priorities of the tasks; determining whether a task needs to be executed in accordance with the periodicity associated with that task; and scheduling the tasks that need to be executed in accordance with the priorities of the tasks.
-
-
7-19. -19. (canceled)
-
21. A scheduling apparatus for scheduling execution of a plurality of tasks by a processor, the processor having a processor memory, the processor being arranged to load into the processor memory, during execution of a current task, data for a task that is scheduled for execution after the processor has completed the current task, the apparatus comprising:
-
a scheduler operable to schedule a next task for execution by the processor after the processor has completed a current task and to determine whether there is a high priority task to be executed by the processor; wherein the scheduler is operable, if there is a high priority task to be executed by the processor, to; determine whether the processor has begun loading the data for the next task into the processor memory; and if the processor has not begun loading the data for the next task into the processor memory, to schedule the high priority task, instead of the next task, for execution by the processor after the processor has completed the current task. - View Dependent Claims (22, 23, 24, 25)
-
-
26. A scheduling apparatus for scheduling execution of a plurality of tasks by a processor, each of the tasks having an associated periodicity and each of the tasks to be executed by the processor periodically according to the associated periodicity, the apparatus comprising:
a scheduler operable, at each of a series of scheduling time points, to; update the priorities of the tasks; determine whether a task needs to be executed in accordance with the periodicity associated with that task; and schedule the tasks that need to be executed in accordance with the priorities of the tasks. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34)
-
35-52. -52. (canceled)
-
53. A data carrying medium carrying a computer program which, when executed by a computer performing the steps comprising:
-
scheduling a next task for execution by the processor after the processor has completed a current task; determining whether there is a high priority task to be executed by the processor; if there is a high priority task to be executed by the processor; determining whether the processor has begun loading the data for the next task into the processor memory; and if the processor has not begun loading the data for the next task into the processor memory, scheduling the high priority task, instead of the next task, for execution by the processor after the processor has completed the current task.
-
Specification