Abstract:
A multitasking data processing system having a plurality of tasks and a shared resource and a method of controlling allocation of shared resources within a multitasking data processing system are disclosed. In response to a resource request for a portion of a shared resource by a particular task among the plurality of tasks, a determination is made whether or not granting the resource request would cause a selected level of resource allocation to be exceeded. In response to a determination that granting the resource request would not cause the selected level of resource allocation to be exceeded, the resource request is granted. However, in response to a determination that granting the resource request would cause the selected level of resource allocation to be exceeded, execution of the particular task is suspended for a selected penalty time. In one embodiment of the present invention, the shared resource is a memory.