1. A method of operating a data processing system including at least a processing unit, said method comprising: software communicating to a processing unit a classification of each of at least one schedulable software entity; said processing unit executing said at least one schedulable software entity; and a resource manager within the processing unit dynamically allocating hardware resources within the processing unit to schedulable software entity during execution in accordance with the classification of the at least one schedulable software entity.