Critical task scheduling for real-time systems
AssigneeTexas Instruments Incorporated
InventorsEdward E. Ferguson, Dexter S. Cook
Life of this patent
Estimating the term…
Abstract
A task scheduling method for a real time computer system having automatic memory management or some other resource that is consumed in terms of a bit rate. The method ensures that non critical tasks do not prevent the timely execution of critical tasks. Each task is evaluated in terms of its rate of consumption of the resource. This rate is controlled by assigning each task a consumption quota and keeping track of the consumption of each task as it executes. The task is required to relinquish its processor time if it attempts to consume more than its quota.
Claims20
A method of scheduling tasks to be executed by a real time embedded computer system having a resource that is consumed in bits per unit of time, comprising:
- associating a currently executing task with a maximum allocation value, wherein said maximum allocation value represents the maximum number of bits that said task may consume per activation;
- counting, in terms of bits, the consumption of said resource, at intervals as said task executes;
- comparing said consumption value with said maximum allocation value;
- and
- delivering a signal to a scheduler, if said counter value exceeds said maximum allocation value, which indicates that said task must discontinue execution.
A computer system for executing application programs in hard real time and programmed with automatic memory management programming, comprising:
- a central processing unit for executing application programs and operating system programs;
- a computer memory for storing said programs and data operated on by said programs;
- a garbage collector for reclaiming memory allocated by said application programs;
- a counter for incrementing an allocation value according to the allocation requests of a current task of said program;
- a comparator for comparing the current value of said counter to a maximum allocation value stored in said memory and associated with said current task;
- and
- a scheduler for determining which tasks are to be processed by said central processing unit, wherein said scheduler receives a signal from said comparator if said counter value exceeds said maximum allocation value, and in response to said signal, causes said current task to temporarily cease execution.
A task controller for a real time embedded computer system having a resource that is consumed in bits per unit of time, comprising:
- a memory for storing maximum allocation values for tasks to be executed by the computer system;
- a counter for counting allocation requests of a currently executing task;
- a comparator for comparing a maximum allocation value of said currently executing task with the output of said counter;
- communication means for delivering a signal to a system scheduler, if said output of said counter exceeds said maximum allocation value, with respect to said currently executing task.
Dependencies are inferred from the claim text.