电脑怎样接收网络数据【点击查看详情】
电脑接收网络数据依次经过网卡驱动和协议栈程序,以DM9000A网卡为例进行介绍接收数据的过程。网卡在一个数据包到来时,会产生一个硬中断,网络驱动程序会执行中断处理过程:首先申请一个skb结构及pktlen加5大小的内存用于保存数据,然后便将接收到的数据从网卡复制到这个skb的数据部分中。当数据从网卡中成功接收后,调用netifrx进一步处理数据,将skb加入到相应的inputpktqueue队列中,并调用netifrxschedule,会产生一个软中断来执行网络协议栈的例程。这样,中断的上半部已完成,以下的工作则交由中断的下半部来实现。