Patent ID: 8881161

Claim:
A method for managing operating system (OS) sourced tasks to be performed by a central processing unit (CPU), comprising: receiving, by a system on chip (SoC) from an off-SoC OS module, CPU task IDs associated with respective CPU tasks stored in a task database associated with the OS module; enqueuing the CPU task IDs in a CPU task queue on the SoC; dequeuing, by the SoC, the CPU task IDs from the CPU task queue in accordance with a scheduling algorithm that executes on the SoC independently of the OS module and the CPU; in response to dequeuing a CPU task ID, of the CPU task IDS, from the CPU task queue: determining, by the CPU, a scheduled CPU task associated with the CPU task ID by accessing the task database, and sending, by the CPU, notification information to the OS module instructing the OS module to perform the scheduled CPU task; and receiving, by the CPU, one or more CPU instructions from the OS module, wherein the one or more CPU instructions are executable by the CPU to perform the scheduled CPU task.