如何将[自制操作系统]第12回实现中断代码改写为长尾词的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计5396个文字,预计阅读时间需要22分钟。
目录
一、背景回顾
二、中断框架实现
三、代码实现
四、中断的压栈和出栈过程分析
五、运行测试
一、背景回顾
我们已经讲解了中断的基本知识,接下来将开始进行代码实现。目录
一、前景回顾
二、实现中断框架
三、代码实现
四、中断的压栈和出栈过程分析
五、运行测试
一、前景回顾
前面我们已经讲解了中断的基本知识,接下来要开始进行代码的实操。代码主要有两块,其中一块是关于可编程中断控制器8259A的代码,另一块主要是整个中断的代码。
二、实现中断框架
IDT:中断描述符表。
gate_desc:中断描述符。
intr_entry_table:中断处理入口函数表。该数组存储了所有中断处理入口函数的地址,其核心是通过call [idt_table + %1*4] 的方式在idt_table表中调用中断处理函数。
idt_table:中断处理函数表,该数组存储的才是真正的中断处理函数地址。
general_intr_handler:通用中断处理函数。
register_handler:中断注册函数,外设(例如定时器timer)通过调用该函数来注册自定义中断处理函数(如intr_timer_handler)。
本文共计5396个文字,预计阅读时间需要22分钟。
目录
一、背景回顾
二、中断框架实现
三、代码实现
四、中断的压栈和出栈过程分析
五、运行测试
一、背景回顾
我们已经讲解了中断的基本知识,接下来将开始进行代码实现。目录
一、前景回顾
二、实现中断框架
三、代码实现
四、中断的压栈和出栈过程分析
五、运行测试
一、前景回顾
前面我们已经讲解了中断的基本知识,接下来要开始进行代码的实操。代码主要有两块,其中一块是关于可编程中断控制器8259A的代码,另一块主要是整个中断的代码。
二、实现中断框架
IDT:中断描述符表。
gate_desc:中断描述符。
intr_entry_table:中断处理入口函数表。该数组存储了所有中断处理入口函数的地址,其核心是通过call [idt_table + %1*4] 的方式在idt_table表中调用中断处理函数。
idt_table:中断处理函数表,该数组存储的才是真正的中断处理函数地址。
general_intr_handler:通用中断处理函数。
register_handler:中断注册函数,外设(例如定时器timer)通过调用该函数来注册自定义中断处理函数(如intr_timer_handler)。

![如何将[自制操作系统]第12回实现中断代码改写为长尾词的?](/imgrand/wB25GtLy.webp)