我想知道哪个线程进程的设备的中断。会发生什么情况时,有一个中断的时候一模式用户线运行?也不做其他用户线得到机会时运行的系统正在处理中断?

请给我建议的一些参考材料,描述如何中断都是处理通过窗户。

有帮助吗?

解决方案

设备中断自己是(通常)处理由任何线有CPU了中断,但是在环0和在一个不同的保护水平。这限制了一些行动中断的处理程序可以采取,因为大多数时候,当前的线不会相关的线,正在等待的事件发生中断是指示。

该核心本身是封闭源,只记录了通过其内部的API。这API暴露装置驱动者,并且描述了在驱动发展的工具包。

一些资源,让你开始:

  • 任何版本的 Microsoft的Windows的内部 由所罗门和Russinovich.目前似乎是第4版,但即使是旧版本将有所帮助。

  • Windows信息适,现已更名为 请参见.它的文件 可在网上 太。一定要读 核心模式设计的引导...

  • 微软 有的工具和文章探在和解释本核心的行为。这是一个独立的网站,直到Microsoft厌倦了标记Russinovich似乎知道更多关于如何核合作。;-)

注意,源代码的许多共同的设备的司机都包括在信息适的样本。虽然生产的版本都几乎肯定是不同的,阅读这样的驱动程序可以回答一些问题,甚至如果你不想要实现的一个驱动程序自己。

其他提示

就像任何其他的操作系统中,Windows在内核模式下处理中断,具有升高的中断优先级(我认为他们称他们IRPL的,但我不知道什么是“R”代表)。在中断请求被处理在同一机器上运行的任何用户线程或较低级的内核线程将被中断,并且当ineterrupt处理完成将会恢复。

为了更多地了解设备在Windows中断,你需要学习设备驱动程序开发。这是一个小众的话题,我不认为你可以在Web找到许多有用的资源,你可能必须寻找一本书或培训课程。

反正视窗手柄与中断请求级别(的IRQL)和递延过程调用中断。中断是在内核模式下,它运行在更高的优先级比用户模式处理。一个适当的中断处理程序需要非常迅速作出反应。它只是执行绝对必要的操作,并注册了一个延迟的过程调用,以在将来运行。会出现这种情况,当该系统处于一个中断请求级别。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top