The task scheduler has minimal software footprint; the hardware does the bulk of the scheduling. Highly efficient memory usage: All the tasks share a single call stack and there's no hard dependency ...