Method and apparatus for implementing task management of computer operations
First Claim
1. A method for implementing priority management of computer program operations on a system comprising a processor and a computer readable medium having instructions stored thereon comprising program code, the method comprising:
- the processor obtaining a first program code comprising at least one declaration for at least one subtask, wherein said at least one subtask is further associated with a priority level;
the processor obtaining a second program code comprising at least one declaration for a supertask, said supertask comprising at least one reference to said at least one subtask; and
the processor generating a third program code comprising program code for invoking said at least one subtask and managing said supertask using said priority level, wherein higher priority subtasks may preempt lower priority subtasks within a supertask.
0 Assignments
0 Petitions
Accused Products
Abstract
A development and runtime framework for applications that execute in real-time operating systems. Application development is enhanced through simple instructions that allow a programmer to declare functions and sets of functions as tasks and supertasks, respectively, and manage the execution of functions, tasks and supertasks with priorities. A compiler or pre-processor provides tools for generating the code for tasks and supertasks, and the management code for managing execution. Function calls may be made directly to functions within supertasks via respective entrypoints, and the tasks are managed based on the functions being invoked. Within a supertask, a higher priority function may be runnable while a lower priority function of that supertask is suspended. A cookie is used to recognize when a register update for a supertask may be omitted, enabling more efficient context switching.
-
Citations
27 Claims
-
1. A method for implementing priority management of computer program operations on a system comprising a processor and a computer readable medium having instructions stored thereon comprising program code, the method comprising:
-
the processor obtaining a first program code comprising at least one declaration for at least one subtask, wherein said at least one subtask is further associated with a priority level; the processor obtaining a second program code comprising at least one declaration for a supertask, said supertask comprising at least one reference to said at least one subtask; and the processor generating a third program code comprising program code for invoking said at least one subtask and managing said supertask using said priority level, wherein higher priority subtasks may preempt lower priority subtasks within a supertask. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer program product embodied in a computer readable storage medium, said computer program product comprising:
-
program code configured to cause a computer to invoke a subtask associated with a supertask and a priority level; program code configured to cause a computer to invoke a scheduler for managing an invocation of said subtask, wherein higher priority subtasks may preempt lower priority subtasks within a supertask; and program code configured to cause a computer to switch an execution context. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer program product comprising a computer readable medium having computer program code embedded therein, said computer program code comprising:
a supertask having a plurality of functions and a common stack, wherein each of said functions comprises a respective priority level and a respective entrypoint into said supertask, wherein higher priority functions may preempt lower priority functions within a supertask. - View Dependent Claims (22, 23, 24, 25, 26, 27)
Specification