@
lilydjwg 大概解释一下而已,而且这种东西软件为主,我也就是简单说说,毕竟不是计科出来的,我就是个修电表的。。关于网卡数据和随机数,访问
1037u.starsriver.net:1080 (家里放着的工控机)定位到 entropy 和 softnet 看一下关系两者就清楚了。
解释并没有错,只是在于看这段话的人是谁了。毕竟知识方向不一样,用不着相互批判。。。
科班出身?
硬件部分对于网络数据传输,也就只管二进制转模信号了,端口回来数据具体是个啥,怎么分配还是要软件来干,至于任务调度还是轮寻还是数据的处理。过程讲那么细都可以教科书了。关于网络系统有一本很厚的书,没看过。
cpu 是通电一直在工作的,只不过没有数据处理的时候晶震会慢下来,也就省电了。
现代网卡好象有 16k * 512 还是多大的缓存区了,cpu 存储数据的压力不大,压力大的是硬盘。
如果没记错,所有的软件监听端口都直接依赖 os 的底层,那个库的源码。。。非常有硬件思维。明年我的课题估计就是拿 fpga 实现一下。。套接字都是已经编码好的,都是端口绑定之后的事情了,os 在这之前就会把数据分好。要真的搞清楚端口监听和绑定的细节就很有意思了,估计要触法 ip ( Intellectual Property )墙,这部分已经不太属于软件方向了。
随机数是硬件实现的,有一个周期,cpu 只是读取一下而已。我记得在 linux 上对随机数在随机。。这种计算量对如今的设备,占用率不到万分之一。
南桥芯片提供给 cpu 的大部分外设任务调度,包括网卡的数据通信,以前单片机用的好象是 8 什么什么集成的可编程模块。。忘了,最基本的中断就是触发和比较,这个触发器指数字电路触发器。
硬件中断对高级语言写的软件层面作用已经不是很明显了,硬件时时刻刻在中断,一般的 pc 机一秒大概几百次到上万次。把硬件中断比作被针扎会疼,软中断就象是你看到数学题要想公式一样很复杂了,一般 os 层面的说的是软中断,总数差不多是硬件中断的五分之一。