你的位置:首页 > 软件开发 > 操作系统 > 内核抢占的理解

内核抢占的理解

发布时间:2016-11-09 07:02:44
内核是否能被抢占在内核编译的时候是可选的看了《深入理解linux内核》一书,作者认为很难对内核抢占下一个定义,我也不想强行下一个定义,始终是新手嘛,那就说一下内核抢占的现象,通过现象来理解内核抢占机制内核抢占的一个现象:正在内核态运行的进程。可能在运行期间被另外一个进程替代。上述 ...

内核抢占的理解

内核是否能被抢占在内核编译的时候是可选的

看了《深入理解linux内核》一书,作者认为很难对内核抢占下一个定义,我也不想强行下一个定义,始终是新手嘛,那就说一下内核抢占的现象,通过现象来理解内核抢占机制

内核抢占的一个现象:正在内核态运行的进程。可能在运行期间被另外一个进程替代。

上述现象是允许内核抢占的情况,但并不能说内核抢占就是上述现象,大家都知道在执行中断处理程序的时候,是不能被别的进程抢到当前中断处理程序拥有的cpu的,这就是个例外。

总结一下,在允许内核抢占的情况下,下列情况不允许内核抢占:

  1. 内核正在执行中断处理程序
  2. 可延迟函数被禁止(当内核在执行软中断或tasklet的时候时常如此)
  3. 直接把抢占计数器preempt_count置为正数,从而显式的进制内核抢占

关于内核抢占计数器变化之后的调度详见下图

内核抢占的理解

 


原标题:内核抢占的理解

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录