orange's习题——第三章【中断和异常】
2012-09-27 18:38
211 查看
一,简答题
1,说说80386下“中断”和“异常”的概念?
答案:对80386而言,中断是由异步的外部事件引起的,与正在执行的指令没有关系。异常则是由指令执行期间检测到的不正常或非法的条件引起的,它与正在执行的指令有直接关系。软中断指令“int n”和“into”也归于异常,这是因为执行这些指令产生异常事件。
2,说说你对Fault,Trap,Abort的理解。
答案:这三者是根据引起异常的程序是否可被恢复和恢复点的不同,把异常进一步细分的。
Fault是一种可被更正的异常,当一个fault发生时,处理器会把fault指令的源操作数恢复为指令开始之前的值,所保存断点cs及eip的值指向引起fault的指令。
Trap是一种在产生陷阱的指令执行后立即背报告的异常,异常处理程序的返回地址将会是产生陷阱的指令之后的那条指令。
Abort是用来报告严重错误,系统接收到中止后,需要重新建立各种系统表格,并可能需要重新启动操作系统。硬件故障和系统表中出现非法值是中止的例子。
3,描述中断或异常处理的返回。
答案:对于提供出错码的异常的处理程序,必须先从堆栈中弹出出错码,然后再执行iret指令。
先从栈顶弹出返回指针eip及cs,然后弹出eflag值。弹出的cs选择子的RPL字段,确定返回后的特权级。若返回选择子的RPL与CPL相等,则不仅行特权级的改变。若RPL规定了一个外层的特权级,则需要特权级改变,从内层堆栈中弹出外层堆栈的ESP及SS值,这些做法与ret指令相似。
二,填空题
1,处理器不屏蔽来自_____的中断请求,和8086一样,80386下,不可屏蔽中断对应的向量号固定为_____,因此处理器在响应此中断时不从外部硬件接收中断向量号。中断处理程序开始后,处理器在内部自动屏蔽再次响应不可屏蔽中断,直到执行中断返回指令_____后才解除屏蔽。
答案:NMI,3,iret
2,段描述符和们描述符结构不同,但第byte_____是通用的,也就是这个byte中的_____位,标识了该选择符描述的是系统段/们描述符还是代码段/数据段。
答案:5,S
3,对比调用门来说,在中断门和陷阱门中的低_____位变成了保留位。
答案:5
4,中断描述符表IDT在整个系统中只有一个,由中断描述符表寄存器_____指示IDT在内存中的位置。保护模式下,80386把_____作为中断描述符表IDT中描述符的索引。由于80386只识别_____个中断向量号,所以IDT的最大长度是_____byte。
答案:IDTR,中断向量号,256,2028或2K
1,说说80386下“中断”和“异常”的概念?
答案:对80386而言,中断是由异步的外部事件引起的,与正在执行的指令没有关系。异常则是由指令执行期间检测到的不正常或非法的条件引起的,它与正在执行的指令有直接关系。软中断指令“int n”和“into”也归于异常,这是因为执行这些指令产生异常事件。
2,说说你对Fault,Trap,Abort的理解。
答案:这三者是根据引起异常的程序是否可被恢复和恢复点的不同,把异常进一步细分的。
Fault是一种可被更正的异常,当一个fault发生时,处理器会把fault指令的源操作数恢复为指令开始之前的值,所保存断点cs及eip的值指向引起fault的指令。
Trap是一种在产生陷阱的指令执行后立即背报告的异常,异常处理程序的返回地址将会是产生陷阱的指令之后的那条指令。
Abort是用来报告严重错误,系统接收到中止后,需要重新建立各种系统表格,并可能需要重新启动操作系统。硬件故障和系统表中出现非法值是中止的例子。
3,描述中断或异常处理的返回。
答案:对于提供出错码的异常的处理程序,必须先从堆栈中弹出出错码,然后再执行iret指令。
先从栈顶弹出返回指针eip及cs,然后弹出eflag值。弹出的cs选择子的RPL字段,确定返回后的特权级。若返回选择子的RPL与CPL相等,则不仅行特权级的改变。若RPL规定了一个外层的特权级,则需要特权级改变,从内层堆栈中弹出外层堆栈的ESP及SS值,这些做法与ret指令相似。
二,填空题
1,处理器不屏蔽来自_____的中断请求,和8086一样,80386下,不可屏蔽中断对应的向量号固定为_____,因此处理器在响应此中断时不从外部硬件接收中断向量号。中断处理程序开始后,处理器在内部自动屏蔽再次响应不可屏蔽中断,直到执行中断返回指令_____后才解除屏蔽。
答案:NMI,3,iret
2,段描述符和们描述符结构不同,但第byte_____是通用的,也就是这个byte中的_____位,标识了该选择符描述的是系统段/们描述符还是代码段/数据段。
答案:5,S
3,对比调用门来说,在中断门和陷阱门中的低_____位变成了保留位。
答案:5
4,中断描述符表IDT在整个系统中只有一个,由中断描述符表寄存器_____指示IDT在内存中的位置。保护模式下,80386把_____作为中断描述符表IDT中描述符的索引。由于80386只识别_____个中断向量号,所以IDT的最大长度是_____byte。
答案:IDTR,中断向量号,256,2028或2K
相关文章推荐
- Linux内核源代码情景分析---第三章 中断、异常和系统调用
- s3c2410 中断异常处理
- 【《Python编程: 从入门到实践》习题答案--第三章:<list 列表简介>】
- python核心编程第二版第三章习题
- 【Linux】中断机制和异常机制
- 深入浅出MIPS 四 MIPS的异常与中断
- 第三章习题T3
- 《组合数学引论》第三章部分习题解答
- FreeRTOS 中断优先级嵌套错误引发HardFault异常解决
- 安徽大学线性代数习题册(第三章详细解答)
- c++ primer plus第三章习题答案
- 操作系统from清华大学向勇,陈渝 笔记(二)操作系统的启动、中断、异常、系统调用
- 第三章 核心编程课后习题
- c++primer 第三章习题(3)
- Linux 2.6 内核阅读笔记 中断和异常
- (转)内核中断,异常,抢占总结篇
- 快学Scala 第三章习题答案
- S5PV210-arm裸机-异常中的中断实现过程
- Innobackup 备份异常中断
- 调试Windows Media SDK时出现的异常中断