Patent ID: 6052707
Filing Date: 2000-04-18
Classification: G06F

Abstract:
In a data processing system having at least one processor for running tasks, wherein running each task involves running at least one module of code, said processor running an operating systems, a method performed by the operating system comprising the steps of:logically partitioning tasks into groups of interdependent tasks, the interdependency of two tasks being based on whether the two tasks call a common module of code;preemptively scheduling the groups of interdependent tasks to be run such that each group of interdependent tasks is allocated a time slot in a cycle in which its tasks may run on the processor;for each group, non-preemptively scheduling the tasks in the group to be run during the time slot allocated to the group;dynamically updating the partitioning of tasks into groups of interdependent tasks to reflect a change in the interdependency of the tasks in the groups;updating the preemptive scheduling of groups; andupdating the cooperative scheduling of tasks within each group.