永发信息网

linux支持中断嵌套吗??

答案:2  悬赏:80  手机版
解决时间 2021-02-12 15:15
linux支持中断嵌套吗??
最佳答案
中断嵌套, 对于不同的中断是可以自由嵌套的,而对于同种类型的中断,是不可以嵌套执行的。
以下简单解释一下如何利用状态标志来防止同种类型中断的重入:
当某种类型的中断第一次发生时,首先其idt表项的状态位上被赋予IRQ_PENDING标志,表示有待处理。 然后将中断处理函数action置为null,然后由于其状态没有IRQ_INPROGRESS标志(第一次),故将其状态置上IRQ_INPROGRESS并去处IRQ_PENDING标志,同时将action赋予相应的中断处理函数指针(这里是一个重点,linux很巧妙的用法,随后说明)。这样,后面就可以顺利执行handle_IRQ_event进行中断处理,当在handle_IRQ_event中开中断后(我认为应该是回复EOI给PCI),如果有同种类型的中断发生,则再次进入do_IRQ函数,然后其状态位上加上IRQ_PENDING标志,但是由于前一次中断处理中加上的IRQ_INPROGRESS没有被清除,因此这里无法清除IRQ_PENDING标志,因此action还是为null,这样就无法再次执行handle_IRQ_event函数。从而退出本次中断处理,返回上一次的中断处理函数中,即继续执行handle_IRQ_event函数。当handle_IRQ_event返回时检查IRQ_PENDING标志,发现存在这个标志,说明handle_IRQ_event执行过程中被中断过,存在未处理的同类中断,因此再次循环执行handle_IRQ_event函数。直到不存在IRQ_PENDING标志为止。
全部回答
硬中断能嵌套........................嗯..........这个说法很奇怪................ 根据我的理解是硬中断能被硬中断抢断.................不知道你所谓的嵌套何指. 软中断都在下半部处理.处理时间即长.涉及资源又多.在这里需要同步的地方非常多.难度也比较高..........软中断如果没记错的话.是不能被同种类型抢断.可以被非同类型抢断.因为同类型多涉及相同资源.如果被同类抢断的话.上一个占有的资源未释放.这一个又一直得不到资源.就会一直被阻塞.造成系统进退不得.所以才禁止同类抢断. 不过在不同下半部解决方案设计中.限制也不一样.具体可以自行了解. 不知道你说的可以嵌套指的是什么东西..................
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
两人打架,一方把对方打伤了。是不是故意伤害
南亚陶瓷批发部怎么去啊,我要去那办事
水果帮旗舰店在什么地方啊,我要过去处理事情
赖斌斌是做什么培训啊?怎么那么火爆?谁听说
绝望的绝什么意思?
美娅莱斯生态环保集成墙饰地址好找么,我有些
长柏路在什么地方啊,我要过去处理事情
女友可能是单亲家庭的,表面上永远是很独立很
天上出现啦彩虹,这是太阳光通过空中的小水滴,
苏州南环领秀幼儿园家委会有些什么意见和建议
用小鸟造句大全。?
遇到人怎么打招呼?
科居快装墙顶地址在什么地方,想过去办事
福龙糖酒经销部地址在哪,我要去那里办事
【电子节能灯】什么叫做电子式节能灯?
推荐资讯
为什么在电脑上下了搜狗壁纸后就会变卡? 就
永顺都龙卫浴地址有知道的么?有点事想过去
韩红在我是歌手最后一期带的串是什么火
昌南印象·戴家弄农贸市场地址在哪,我要去那
联想台式电脑破解USB接口
谁能找到柯南和小兰两个人在樱花下的图片~~~
百宁超市学院分店在哪里啊,我有事要去这个地
The grade 6 girl must coin when her gets o
东方雅园停车场(西施路西150米东方雅园停车场
有谁知道安视特滤光屏是什么样啊?效果怎么样
2009年中国大蒜市场价格暴涨,许多农民打算在
同步电复律的最佳适应证是()。
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?