当前位置: 代码迷 >> 综合 >> linux中断和异常
  详细解决方案

linux中断和异常

热度:77   发布时间:2024-02-06 03:11:27.0

中断通常被定义为一个事件,该事件改变处理器的执行顺序。

中断分为同步异步:

同步中断是由CPU本身产生又叫内部中断,叫同步是因为只有在一条指令终止执行后CPU才发出中断,不能在执行期间所以也叫做异常,比如系统调用。

异步中断由外部硬件设备产生也叫外部中断,异步中断可在任何时间产生所以叫中断。但是在临界区不可以中断。所以临界区要小

中断分可屏蔽中断、非屏蔽中断

异常分故障、陷阱、异常终止、编译异常

中断描述符表(IDT)

中断描述符表(IDT)是一个系统表,他与每一个中断或异常向量联系,每一个中断在表中有相应的中断或异常处理程序的入口地址

内核在允许中断发生前,也就是在系统初始化时,必须把 IDT 表的初始化地址装载到 idtr 寄存器中,初始化表中的每一项。

初始化中断描述符表:

内核启用中断以前必须把IDT表的初始地址装载到idtr寄存器,并初始化表中每一项