【发布时间】:2016-05-16 04:01:59
【问题描述】:
我需要知道计算机如何处理局域网输入和输出处理器中断。我一直在寻找一段时间,但似乎找不到任何东西。遇到了一些 RJ-45 端口信息,但不是我特别需要的。如果有人知道 CPU 如何中断进程以调用指针和驱动程序,以及该进程如何工作,将不胜感激。
谢谢
【问题讨论】:
我需要知道计算机如何处理局域网输入和输出处理器中断。我一直在寻找一段时间,但似乎找不到任何东西。遇到了一些 RJ-45 端口信息,但不是我特别需要的。如果有人知道 CPU 如何中断进程以调用指针和驱动程序,以及该进程如何工作,将不胜感激。
谢谢
【问题讨论】:
通常,LAN 卡的驱动程序将卡配置为在接收缓冲区接近满或发送缓冲区接近空时发出中断。通常,这些缓冲区存在于系统内存中,网络硬件使用 DMA 来提取传输的数据包并将接收的数据包存储在系统内存中。
当中断触发时,某些内核上的某些进程通常会被中断并且网络代码开始执行。如果它是一个发送中断并且有更多的数据包要发送,那么更多的数据包会附加到发送缓冲区。如果是接收中断,通常更多的数据包缓冲区会附加到接收缓冲区。驱动程序通常会安排一个“下半部分”被调度以处理需要完成的任何其他工作(例如处理接收到的数据包)并且中断完成。
基于许多因素,存在大量可能的变化,但这是基本思想。
【讨论】: