A method for an asymmetric heterogeneous multi-threaded operating system
is presented. A processing unit (PU) provides a trusted mode environment
in which an operating system executes. A heterogeneous processor
environment includes a synergistic processing unit (SPU) that does not
provide trusted mode capabilities. The PU operating system uses two
separate and distinct schedulers which are a PU scheduler and an SPU
scheduler to schedule tasks on a PU and an SPU, respectively. In one
embodiment, the heterogeneous processor environment includes a plurality
of SPUs. In this embodiment, the SPU scheduler may use a single SPU run
queue to schedule tasks for the plurality of SPUs or, the SPU scheduler
may use a plurality of run queues to schedule SPU tasks whereby each of
the run queues correspond to a particular SPU.