linux内核—中断下半部

1.中断处理分为两部分的原因

在这里插入图片描述
下半部实现机制:软中断、tasklets和工作队列

2. 软中断机制

中断处理程序(也就是中断上半部)在返回前,标记它所对应的软中断,稍后在合适的时刻,软中断就会被执行

2.1软中断实现
在这里插入图片描述
2.2 软中断的使用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. tasklet机制

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.ksoftirqd线程

对于软中断,内核会选择在几个特殊时机进行处理。而在中断处理程序返回时处理是最常见的。软中断被触发的频率有时可能很高(像在进行大流量的网络通信期间)。更不利的是,处理函数有时还会自行重复触发。也就是说,当一个软中断执行的时候,它可以重新触发自己以便再次得到执行(事实上,网络子系统就会这么做)。如果软中断本身出现的频率就高,再加上它们又有将自己重新设置为可执行状态的能力,那么就会导致用户空间进程无法获得足够的处理器时间,因而处于饥饿状态。而且,单纯的对重新触发的软中断采取不立即处理的策略,也无法让人接受。

解决方案:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值