为什么要使用非抢占内核?
在《深入理解linux内核》书中,提到过:
使用非抢占内核,就不能交错执行处于特权模式下的流.
我想问,那如果交错执行处于特权模式下的流又有什么不好呢?
[解决办法]
支持抢占,能够更好地支持实时系统。一个具备有更高优先级别,或者具有更高特权的进程,可以通过抢占,而优先获得CPU的执行权。
linux原来是不支持抢占的,2.6版本之后开始支持;因此,书中并没有说“抢占”有什么不好的意思。
[解决办法]
用了抢占式做实时性工作的时候,实现比较容易,如果不用抢占式,就要用大的缓冲来做实时了。
[解决办法]
了解适时和非适时内核的初衷就明白了原来设计的苦心了:)。
非适时(windows,linux)最初是本着公平的原则,尽量使不同任务都有平等的执行权力和机会。
因此有一套自己的计算原则,使各个任务都有平等执行的机会(执行时间长短)。
这样就使紧急任务和其他任务划分不明,可能处于同等的地位,对于适时控制不适合。
适时内核就是针对这个进行了改进,可以安装设计的任务优先级进行调度。。。