1. A method for scheduling a plurality of tasks in a processing system having a plurality of defined resources, comprising: identifying prerequisites for each task, the prerequisites representing all defined resources needed for that task to execute to completion; in a task priority order, comparing the prerequisites for a particular task against a system state representing a current state of the defined resources until a task is identified for which the comparison reveals that the prerequisites for the identified task are currently available; and dispatching the identified task.