windows-xp – 什么是“中断”过程以及为什么它如此喜欢我的CPU?

我在Intel Core Duo 2GHz上安装了 Windows XP SP3.根据Process Explorer,“Interrupts”进程不断占用30-40%的cpu.这是正常的吗?
一般来说,IO设备(例如磁盘控制器,网卡,USB控制器等)在需要处理器注意时会产生中断 – 它基本上会大喊“嘿,我能不能有点时间请!’.

处理器有自己的工作,所以当它得到一个中断时,它必须停止它正在做的事情,并处理设备移动数据或其他任何要求.这不应该是太多的工作,但使用处理大量数据的现代适配器卡,它们可以为处理器每秒产生大量中断.传统上计算机只有一个处理器,所以许多操作系统从未想过将这种中断处理工作分散到不仅仅是第一个处理器 – 现在仍然如此,一个网卡CAN泛滥’核心0’甚至是最现代化的多处理器核心处理器,如果操作系统不共享此工作负载.

有很多方法可以解决这个问题,其中一种称为“中断 – 合并”,这是网卡的一项功能,它将一组中断聚集在一起并作为一个中断发送到处理器 – 这增加了网络延迟,但可以节省大量的处理器开销.另一个被称为“接收端缩放”,一般来说,将处理中断的工作分享到不仅仅是“核心0” – 降低了“核心0”的重点(它仍然坚持做很多其他核心除最现代的操作系统外,操作系统都可以运行.

还有一个很酷的功能,它与中断没什么关系,但可以改善整体服务器性能,称为“TCP卸载” – 这让网卡可以完成处理器通常会做的一些工作.所有这三个功能都需要由网络适配器,BIOS和操作系统支持,否则它不起作用 – 作为参考看看微软的THIS文档,它更详细地解释了一些事情.

我希望这有帮助.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...