When the BIOS scheduler recognizes that a task in the ready state can start executing, it puts it in the RUNNING state. The scheduler puts the highest priority thread in the running state. If a higher priority thread, which can be a task, software or hardware interrupt preempts this task, the scheduler will move it back to the READY state.