非抢占式
不需要中断任务的系统常采用非抢占式内核。在非抢
占式内核中,调度程序启动的任务从系统获取时间和
内存资源。调度程序只有在任务完成后才可以重新获
得控制权。
由于无需处理环境转换,因此实现非抢占式内核相对
较简单。
抢占式
在抢占式内核中,调度程序可以把系统资源从正在运
行的任务转移到优先级更高的任务。也就是说,高优
先级任务可以中断低优先级任务。这正是大多数抢占
式内核采用中断机制调度更高优先级任务的原因。
某些任务或者任务的某些部分需要拥有对资源的完全
控制权。此时,其他任务不得中断它们。这些关键部
分应当尽可能短小,以便任务满足时间要求。此情况
下可以采用全局中断禁用功能禁用所有可屏蔽的中
断。处理不可屏蔽的中断时应当慎之又慎。 |