中断是异常的一种
发布时间
阅读量:
阅读量
中断控制机制的出现,最初是为了应对在I/O接口控制中采用程序查询方式所导致的处理器效率低下问题。该机制的核心优势在于,只有当I/O设备需要服务时,处理器才会作出响应,从而避免了持续进行查询操作的资源浪费。因此,在最初的设计中,所有中断均针对外部设备,这类中断也被称为外部中断或硬件中断。
内部中断(亦称异常),则是为了解决计算机运行过程中可能出现的随机事件以及提升编程便利性而设计的。这些机制共同构成了一个完整的中断系统。
本文主要探讨在80x86保护模式下,Linux操作系统中对中断机制的具体实现方式。
一、什么是中断
16位实地址模式与32位保护模式之间最根本的区别在于保护模式引入了中断描述符表这一关键结构。
1、中断向量
x86系列微型计算机支持共计256种向量中断。为了使处理器能够识别每一种具体的中断源,这些类型被赋予从0到255之间的编号,并称为中断类型码n。Intel将这个8位无符号整数定义为一个向量,也即所谓的中断向量。这256种不同的向量可以划分为两大类别:异常和外部中断。其中异常又细分为故障和陷阱类型,它们具有共同特征:既不依赖于外部的中断控制器,也无法被屏蔽(异常是由CPU主动发出的信号)。而外部中断则包括可屏蔽和不可屏蔽两种形式。所有由I/O设备触发的请求均属于可屏蔽类型,而像硬件故障等紧急情况引发的信号则归类为不可屏蔽型。
对于非屏蔽型和异常类别的
全部评论 (0)
还没有任何评论哟~
