Linux 下半部机制介绍(一)——聊聊上下部机制

《Linux 下半部机制介绍》将逐步介绍linux的一些下半部机制原理(软中断/tasklist/工作队列等),本章内容先聊聊上下部机制的由来

为什么要有下半部机制?

要聊上下部机制,那么就先要从硬件中断,也就是上下部机制的上部机制聊起,也就是硬件中断

在没有硬件中断设计的日子里,CPU是可以快乐的光明正大的耗电(拿工资)摸鱼的,在它处理外设的请求时,它并不知道外设什么时候能准备好,所以它可以光明正大的过一段时间就去轮序一下外设,问他们准备好没有。

CPU:好没好?

外设:没有

CPU:好没好?

外设:没有

CPU:好没好?

外设:没有

……

CPU:好没好?

外设:好了

CPU:我处理一下,处理好了

CPU:好没好?

外设:没有

CPU:好没好?

外设:没有

这程序员一看不高兴了,合着你耗着我这么多电,就在哪儿不停”好没好?”,半天干不了一件正事儿,程序员心想,这可不行,要想办法。思来想去,外设工资低啊,那就让外设准备好了的时候,来通知CPU ,CPU停下手里的活,马上帮外设处理。其余时间CPU老老实实干自己的活。这样就是硬件中断设计,有了硬件中断设计,CPU摸鱼的机会少很多了。

这样愉快的工作了一段时间,程序员又发现一个问题。CPU有时候会和外设一起摸鱼,这是为什么呢?原来外设打断CPU(硬件中断),让它帮忙处理事情的时候,CPU是不响应其他外设的(处理中断的时候中断时被屏蔽掉的)。结果就是CPU腻腻歪歪在关中断的情况下慢慢处理工作(抽空摸鱼),导致有的中断不能及时处理,这显然有问题。继续想办法优化(压榨)!

于是就有了下半部机制设计,上下部机制原理简单来说就是

上半部记录,下半部处理

防止CPU长时间在关中断状态下工作(摸鱼)

准备一个小本儿,中断来了先给CPU记下来,然后处理一些紧要的事情,马上把中断打开。

小本记录的工作放到了下半部(开中断的情况下)让CPU处理。这样在处理下半部工作的时候,新的中断来了还能及时响应,又能提高(压榨)一波效率,美滋滋。

上面就是上下部分机制设计的中心思想,后续的文章详细聊聊几种下半部机制,如软中断/tasklet(基于软中断实现)/工作队列等

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值