An apparatus is disclosed for allocating processing resources, such as
instruction execution which can be measured in MIPs or memory capacity,
or other resources of a processor itself or resources used in the process
of performing operations, such as memory resources, busses, drivers and
the like, to functions in a queue waiting to be executed. This apparatus
includes a capacity determining device for determining an amount of the
processor resource available to be assigned, a load determining device
for determining an estimate of an amount of the resource needed for each
function waiting in the queue to execute, a prioritization device for
prioritizing each of the functions in the queue waiting to be executed,
and an allocating device, which receives information from the capacity
determining device, the load determining device, and the prioritization
device, for allocating the available resource to the functions based on a
hierarchical priority scheme.