深入浅出x86中断机制(下)

本文介绍了中断处理从实模式到保护模式的转变,包括实模式下中断向量表(IVT)如何映射中断服务程序(ISR),以及保护模式下使用中断描述符表(IDT)进行中断处理。在实模式中,中断向量表由BIOS建立;在保护模式下,中断描述符表提供了更高级别的安全性,包括特权级检查。中断发生时,处理器通过中断向量查找ISR并进行代码转移。

问题

中断与对应的服务程序间如何建立关联?在代码层面如何进行转移?

实模式下的中断处理

使用中断向量表映射不同中断与中断服务程序

中断向量表 (Interrupt Vector Table)

  • 起始于物理地址0,长度为1KB
  • 每个单元4字节,连续256个单元
  • 每个单元存放中断服务程序的入口地址

中断向量表 (IVT)

处理器接收到中断信号时,能够询问到中断向量 (中断类型号);通过中断向量查找IVT,获取ISR入口地址;之后,跳转执行 (类似函数调用)。

中断响应与处理

思考

实模式下的中断向量表 (IVT) 和中断服务程序 (ISR) 需要操作系统内核来建立吗?

你不知道的故事

x86系列处理器上电后直接进入实模式

硬件设计将ROM中的BIOS拷贝到内存中

BIOS代码的入口地址为0xFFFF0

硬件将cs设置为0xFFFF,ip设置为0x0000

BIOS从0xFFFF0处开始执行

检测计算机系统的硬件,并做一系列简单的初始化

在内存中建立中断向量表 (IVT)和中断服务程序 (ISR) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值