liniux26软中断.docVIP

  • 2
  • 0
  • 约 9页
  • 2016-12-29 发布于重庆
  • 举报
6.1下半部 下半部的任务就是执行与中断处理密切相关但中断处理程序本身不执行的工作。对于在上半部和下半部之间划分工作,尽管不存在某种严格的规则,但还是有一些提示可供借鉴: (1)如果一个任务对时间非常敏感,将其放在中断处理程序中执行。 (2)如果一个任务和硬件相关,将其放在中断处理程序中执行。 (3)如果一个任务要保证不被其它中断打断,将其放在中断处理程序中执行。 (4)其它所有任务,考虑放在下半部执行。 当我们开始尝试写自己的驱动程序的时候,读一下别人的中断处理程序和相应的下半部会令你受益匪浅。 现在的问题是:下半部具体放到以后的什么时候去做呢?下半部并不需要指明一个确切时间,只要把这些任务推迟一点,让他们在系统不太繁忙并且中断恢复后执行就可以了。 通常下半部在中断处理程序一返回就会马上执行。下半部执行的关键在于当它们运行的时候,允许响应所有中断。 6.1.1为什么要用下半部? 因为在中断处理程序运行的时候,当前的中断线会被屏蔽,如果一个处理程序是SA_INTERRUPT类型,它执行的时候会禁止所有本地中断(而且把本地中断线全局屏蔽掉), 再加上中断处理程序要与其它程序——甚至是其它的中断处理程序——异步执行。 具体放到以后什么时候去做呢? 在这里,“以后”仅仅用来强调不是“马上”而已,下半部并不需要指明一个确切时间,只是把这些任务推迟一点,让它们在系统不太繁忙并且中断恢复后执

文档评论(0)

1亿VIP精品文档

相关文档