正在学习驱动开发,这里只是把自己当时读书的感受写下来,由于是刚刚学习,不对之处还希望大家多多指点和补充信息,如具体的事例等等,非常谢谢。
中断屏蔽的概念(当然这里只是个人方面理解才这么写的,下同): 禁止响应已经发生的某些或者全部中断处理程序。
中断屏蔽的使用目的:避免竞争
中断屏蔽的条件:除系统支持中断外,被中断后,所执行的临界区代码要尽可能的短
中断屏蔽的时机:在程序进入临界区之前。
中断屏蔽的常用形式:
local_irq_disable()/*屏蔽中断*/
....................
critical section/*临界区*/
.....................
local_irq_enable()/*开中断*/
推荐与自旋锁一起使用。
local_irq_save(flag)与local_irq_restore(flag)
local_bh_disable()与local_bh_enable()
中断屏蔽产生的不良后果:可能造成数据丢失或者系统崩溃。
阅读(725) | 评论(0) | 转发(0) |