A method and apparatus for dynamic allocation of processing resources and
tasks, including multimedia tasks. Tasks are queued, available processing
resources are identified, and the available processing resources are
allocated among the tasks. The available processing resources are
provided with functional programs corresponding to the tasks. The tasks
are performed using the available processing resources to produce
resulting data, and the resulting data is passed to an input/output
device.