6.4 小结
本章我们对中断和系统调用机制有了整体的了解。学习了它们的实现方式,并深入到系统的内存的数据结构级别中。下一章我们将回顾不同的计算模型,包括类似于前向自动机的堆栈机器(stack machines),并最终研究汇编语言的前向翻译器和编译器。
■Question 98 中断是什么?
■Question 99 IDT 是什么?
■Question 100 IF 会修改什么内容?
■Question 101 哪种场景下会发生 #GP 错误?
■Question 102 哪种场景下会发生 #PF 错误?
■Question 103 #PF 错误和交换区之间有什么关系?操作系统如何使用它?
■Question 104 我们可以使用中断来实现系统调用么?
■Question 105 为什么需要另外的指令来实现系统调用?
■Question 106 为什么中断处理器需要 DPL 字段?
■Question 107 中断栈表是为什么目的服务的?
■Question 108 单线程程序只有一个栈吗?
■Question 109 Intel 64 提供了什么类型的输入/输出机制?
■Question 110 什么是特殊模块寄存器?
■Question 111 什么是 shadow 寄存器?
■Question 112 特殊模块寄存器在系统调用机制中是如何被使用的?
■Question 113 syscall 指令使用了哪些寄存器?