VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 456|回复: 6

[求助] 最近在做一个项目,涉及到操作系统,问一个关于os的弱智问题

[复制链接]
24_avatar_middle
在线会员 a872133784 发表于 2017-6-29 17:36:21 | 显示全部楼层 |阅读模式
70驿站币
大家好,我回归了。最近在做一个协议栈实现的项目,其中我遇到一个很弱智的问题,是关于操作系统的:
问题:
          我一直有个问题,硬件网卡收到数据之后,要么接收这些数据提交给操作系统,要么把数据发出去。那么,

网卡从收到数据包开始,到发送数据包出去,这个过程期间,os有没有参与进来进行调度?如果有,参与进来做了什么事?

还是说这个过程由网卡一手完成?

         
           希望大家帮我解答下 ,thanks!!





上一篇:数据存储接收并实时显示的代码哪位大神能帮忙给一下?
下一篇:VC可以编写模拟手机app操作的软件吗

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

51_avatar_middle
online_admins Syc 发表于 2017-6-29 22:55:44 | 显示全部楼层
肯定要进行调度,硬件是死的,系统软件才是活的,没有系统软件发送指令的话硬件不能自己就把数据发出去了。个人理解!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

24_avatar_middle
ico_lz  楼主| a872133784 发表于 2017-6-30 13:56:37 | 显示全部楼层
Syc 发表于 2017-6-29 22:55
肯定要进行调度,硬件是死的,系统软件才是活的,没有系统软件发送指令的话硬件不能自己就把数据发出去了。 ...

原来这样哦,我就一直在思考,通过网卡往外发数据包这个过程中,当网卡收到数据之后 直到 吧数据发出去这个过程 os是否参与调度。
如果参与了调度,那就说的清楚了一个问题
因为我目前在做一个项目,涉及到实时系统和分时实系统,目前是分时系统,我用winpcap发包,绕过了tcp/ip协议栈,这样相当于直接把数据丢到网卡去了,再通过网卡发出去。然后通过网卡发数据(一出)直到接收到反馈的数据(一进)这个过程时间很长,要100多个微秒,而反馈数据的这个动作(一进)是硬件执行的,理论上几个微秒就反馈完了。
所以,如果os参与了调度,那就说的清楚了。
因为不是实时系统,系统参与了调度,所以会抽取一段时间做其他的事,所以一个数据包的发出去到下一个数据包的接收(下一个数据包是由硬件反馈的)这个过程,wireshark捕包看到的发包时间,直到发包完成,这中间的过程,不是一下就完成了,os会在这段时间抽出时间做其他事,所以一个包的发包时间到硬件反馈包的时间这个过程段会有100多个微秒的时差就是这个原因。、


楼主补充问个问题:这个os调度控制网卡发包,不是一下子就吧数据包整个发出去的吧?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

24_avatar_middle
ico_lz  楼主| a872133784 发表于 2017-6-30 13:57:06 | 显示全部楼层
Syc 发表于 2017-6-29 22:55
肯定要进行调度,硬件是死的,系统软件才是活的,没有系统软件发送指令的话硬件不能自己就把数据发出去了。 ...

原来这样哦,我就一直在思考,通过网卡往外发数据包这个过程中,当网卡收到数据之后 直到 吧数据发出去这个过程 os是否参与调度。
如果参与了调度,那就说的清楚了一个问题
因为我目前在做一个项目,涉及到实时系统和分时实系统,目前是分时系统,我用winpcap发包,绕过了tcp/ip协议栈,这样相当于直接把数据丢到网卡去了,再通过网卡发出去。然后通过网卡发数据(一出)直到接收到反馈的数据(一进)这个过程时间很长,要100多个微秒,而反馈数据的这个动作(一进)是硬件执行的,理论上几个微秒就反馈完了。
所以,如果os参与了调度,那就说的清楚了。
因为不是实时系统,系统参与了调度,所以会抽取一段时间做其他的事,所以一个数据包的发出去到下一个数据包的接收(下一个数据包是由硬件反馈的)这个过程,wireshark捕包看到的发包时间,直到发包完成,这中间的过程,不是一下就完成了,os会在这段时间抽出时间做其他事,所以一个包的发包时间到硬件反馈包的时间这个过程段会有100多个微秒的时差就是这个原因。、


楼主补充问个问题:这个os调度控制网卡发包,不是一下子就吧数据包整个发出去的吧?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

51_avatar_middle
online_admins Syc 发表于 2017-6-30 14:17:26 | 显示全部楼层
a872133784 发表于 2017-6-30 13:56
原来这样哦,我就一直在思考,通过网卡往外发数据包这个过程中,当网卡收到数据之后 直到 吧数据发出去这 ...

肯定要排队拆包的,数量量很大或者一直有的话,不可能一下子都发送出去了,肯定是循环发送和接收

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

24_avatar_middle
在线会员 284406022 发表于 2017-7-4 10:03:38 | 显示全部楼层
不知你说的系统参与是不是说的是cpu参与?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

24_avatar_middle
ico_lz  楼主| a872133784 发表于 2017-7-4 12:01:58 | 显示全部楼层
Syc 发表于 2017-6-30 14:17
肯定要排队拆包的,数量量很大或者一直有的话,不可能一下子都发送出去了,肯定是循环发送和接收

哦哦 那我懂了 谢谢楼主

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /1 下一条

QQ
QQ在线咨询
联系电话
13591366679
手机扫一扫 关注本站精彩内容
wxqrcode

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-11-16 12:21

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表