对于当前线程来说,要交出CPU的控制有如下几个常见的场景:

(1)当前线程为内核线程,主动调用(schedule)交出控制权

(2)当前线程为内核线程,中断产生后,当前线程保持现状

(3)当前线程为内核线程,中断产生后,当前线程被占先调度。

(4)当前线程为用户线程,主动发起调度(schedule) 系统调用交出控制权

(5)当前线程为用户线程,中断产生后,返回用户态时保持现状

(6)当前线程为用户线程,中断产生后,返回用户态时被调度

其中(1)最为简单,他不涉及中断处理程序。剩下的5种情况都是有中断处理程序参与其中。

        按照我们的常规定义中断处理程序的印象:中断程序不可重入,

06-27 04:29