浅谈Linux之中断系统
扫描二维码
随时随地手机看文章
中断意味着在处理器执行程序时会出现突发情况, 此时,处理器应停止当前任务并处理意外事件。 治疗完成后会复发。 返回被中断程序的开始位置以继续执行。 我们知道微控制器有自己的中断系统。 Linux系统如何实现中断?
根据中断的来源,可以分为内部中断和外部中断;中断的屏蔽性可分为可屏蔽中断和不可屏蔽中断;中断的入口地址可分为向量中断和非向量中断等。对于Linux的中断处理程序架构来讲,与单片机不同的它采用顶半部和底半部实现的,顶半部是处理紧急的硬件操作,底半部是延缓的耗时操作。也就是说顶半部主要是对中断的前期处理,比如记录中断号,处理中断信息等。底半部则是处理程序所有的事情。Linux中断函数的主要包括,申请中断→释放中断→使能中断→屏蔽中断→中断队列函数等。
对于中断来讲可谓是所有嵌入式系统的必须具备的,因为目前市面的操作系统的对实时性要求很高,如果采用流水式或者时间片轮转的方法很难达到理想的效果。所以任何一个嵌入式工程师都应该对中断系统了如指掌。