您的位置:首页 > 运维架构 > Linux

linux 中断自学笔记

2012-02-01 22:35 405 查看
什么是中断:

中断是某些硬件用来与cpu异步通信的一种方式,类似的还有异常.(中断与异常的根本区别还有待继续研究,将在新的文章中解释)

中断的本质:

发往中断控制器的一个电信号,而后由中断控制器发往cpu。最后由cpu来调用之前注册的中断控制器。

中断类型:

快速中断(SA_INTERRUPT):在中断处理程序中禁止所有的中断

共享中断(SA_SHIRQ):多个中断处理程序共享同一个中断线,在中断来临时,会调用注册在这个中断线上的每一个中断处理程序。

中断上下文:

中断处理程序或下半部时,内核处在中断上下文中,不与任何的进程有关系,current没有意义(仅表示被中断的进程)。而且在中断上下文中,是不可以睡眠的。因为没有进程的表述,所以一旦睡眠,调度程序没有办法激活。

存在一个中断栈,大小一页,为中断上下文。

request_irq()函数可能会睡眠,因为其中包括对proc的文件操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: