orange's习题——第三章【中断和异常】

一,简答题

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



原文地址:https://www.cnblogs.com/weiweishuo/p/3082623.html