Flow of preemptive multitasking execution of program
1) the diagram show the execution of 'user' (task + interrupt) code, not necesarily how the swithing is done. In some systems all switches (except maybe the interrupt activation) involve a switch to the tasking supervisor, and only then a switch to the next thread.

2) all interrupts have a higher priority than all threads. Interrupts are supposed to handle things that can't wait, and take very little time to handle. Taks are supposed to handle things that take longer and can wait (a little).