首页 > 代码库 > 关于中断的顶半部和底半部
关于中断的顶半部和底半部
关于中断的顶半部和底半部
我们要把中断处理中需要做的工作区分开来:中断处理程序中,只处理那些有严格时间限制的工作,比如复位硬件,对中断进行应答等。而那些可以拖到后面做的,或者说有可能睡眠的处理,都应当放到下半部去处理这样做的目的很显然,就是让中断处理程序尽可能的简洁明快在适当的时机,下半部会开中断执行
“顶半部”:是实际响应中断的例程(request_irq 注册的那个例程)。
“底半部”:是被顶半部调度,并在稍后更安全的时间内执行的函数
为什么要划分呢?
因为中断存在一个悖论: Linux 大部分动作都是有中断来做,一个中断触发拉要做很多的事情,但是因为中断的优先级高,占用cpu,我们需要中断的占用事件应该更断,可是又有很多事情要去做,这就有拉顶半部和底半部。
关于中断的顶半部和底半部
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。