软中断和硬中断

什么是硬中断

硬中断是中断流程的上半部分,是和硬件相关的中断,比如说网卡收到了数据包的时候,网卡就会发送一个中断给cpu,通知它有数据来了。硬中断的主要特征是它只处理耗时短的任务,比如单纯的接受数据,和Reactor模型里的reactor线程的作用差不多。

什么是软中断

软中断是中断的下半部分,它主要处理一些较复杂的较耗时的操作,比如接受到数据以后,一层一层向上剖析,解码。它是由中断程序触发,而非硬件。

为什么要分硬中断和软中断

首先我们得记住,现代操作系统设计的目的主要就是两个,吞吐量和低延迟,把中断分为2部分的目的,就是为了在维持高吞吐的的情况下,最大限度降低延迟。当一个中断触发后,若中断只有一个阶段,那么中断发生后会打断现在正在处理的程序然后执行中断逻辑,一直等到所有的逻辑完成了,别的进程才能获取到cpu资源,这样一来,延迟会变的很高。但是现在有了软中断,那么硬中断只需要完成对时间敏感的任务,剩下复杂的逻辑处理交给软中断来完成就可以了。cpu中每个核对应一个ksoftirqd线程(都是内核线程),它们专门用来处理对应的软中断
在这里插入图片描述
如果觉得难理解,联想到java中的线程池就好了!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值