2

我正在读一本关于 Windows Internals 的书,但有些东西我不明白:

“内核处理软件中断或者作为硬件中断处理的一部分,或者在线程调用与软件中断相关的内核函数时同步处理。”

那么这是否意味着软件中断或异常将仅在以下条件下处理:

****一个。当内核从所述线程执行与软件异常(陷阱)相关的函数时 b.当它已经在处理硬件陷阱时****

我对此的理解正确吗?

下一点:

“在大多数情况下,内核会安装前端陷阱处理函数,这些函数在将控制权转移到其他触发陷阱的函数之前和之后执行一般的陷阱处理任务。”

我不太明白“前端陷阱处理功能”和“现场陷阱”是什么意思?

谁能帮我?

4

1 回答 1

2

软件中断不是陷阱,而是硬件中断处理的一部分,延迟到硬件中断上下文之外。示例是 TCP/IP 堆栈 - 将数据包从 NIC 复制到 OS 缓冲区是从硬件中断例程完成/启动的,但协议处理(以太网 -> IP -> UDP/TCP)推迟到软件中断。它们在操作系统文献中通常被称为下半部分(相对于直接与硬件对话的上半部分)。这样做是为了减少被禁用的硬件中断的范围并减少操作系统调度延迟。因此,它们通常在公共陷阱/中断入口结束时但在重新启用中断之后和/或由专用软件中断内核线程调用。

于 2009-12-29T19:04:32.700 回答