Advertisement

Linux内核学习内容-24中断处理机制

阅读量:

中断描述符表IDT被存储于内核的数据段中,其初始地址由中断描述符表寄存器IDTR进行保存,如上图中蓝色箭头所指示。

在内核中,与中断描述符相关联的源代码具体呈现为何种形式?存在一个名为IDT_DESCR的变量,它位于head_32.S文件中,而在64位系统环境下则被放置于head_64.S文件中。在该文件中包含两条汇编指令,第一条用于说明中断描述符表中共包含256个中断描述符;第二条则用于定义中断描述符的入口地址。

在Linux内核中,系统初始化的首要步骤是设置可编程控制器,随后将中断描述符表的起始地址加载至中断描述符表寄存器IDTR中,并对表中的各个条目进行初始化操作。那么,如何完成中断描述符的初始化过程呢?

当计算机处于实模式运行状态时,BIOS负责对中断描述符表进行初始化工作。

一旦系统正式进入Linux内核阶段,中断描述符表将被迁移至内核空间的另一位置,并在此基础上启动保护模式下的预初

全部评论 (0)

还没有任何评论哟~