内核抢占的理解

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

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

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

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

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

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

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

 

转载于:https://www.cnblogs.com/ziranyyp/p/6044558.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值