Android深度探索:HAL学习与驱动开发学习笔记——中断
发布时间
阅读量:
阅读量
1、中断机制分析
中断指的是在CPU执行程序的过程中,若发生需要立即处理的突发事件,CPU将暂停当前程序的运行,转向处理该事件。待处理完成后,CPU会回到原先被中断的位置,继续执行后续程序。
2、中断的分类
1)依据中断的产生来源可划分为两类:内部中断与外部中断。其中,内部中断源自CPU内部,例如由软中断指令、溢出或语法错误等引发;而外部中断则来源于CPU外部,通常由外围设备发出请求所触发。
2)按照是否能够被屏蔽进行分类,可分为可屏蔽中断与不可屏蔽中断(NMI)。对于被屏蔽的中断类型,系统将不会对其进行响应处理。
3)根据中断入口跳转的方式不同,可分为向量中断与非向量中断。在向量中断机制中,每种不同的中断都会被分配一个唯一的中断号;而非向量中断则允许多个不同的中断共享同一个中断号,在软件层面需进一步判断具体是哪一个中断源,并由软件提供对应的中断服务程序入口地址。
二、Linux中断处理程序架构
当设备触发中断时,会干扰内核中正在进行的调度与执行流程。为了满足系统对更高吞吐能力的需求,中断处理程序需要尽可能精简以缩短响应时间。然而,在多数实际应用场景中,所要执行的任务往往较为复杂,可能涉及大量耗时的操作。
1、Linux中断处理中的顶半部和底半部机制
鉴于中断服务程序的运行环境并非进程上下文,因此对其执行时间提出了严格要求,需尽
全部评论 (0)
还没有任何评论哟~
