TCP/IP协议栈在Linux与FreeBSD中的实现分析6

结论

通过以上分析得出

(1)Linux的代码比较混乱,可读性没有FreeBSD的好,例如,Linux省略了以太网层,而且在接收数据中有多次异步操作,也许这将会影响内核的稳定性。FreeBSD的代码就比较清晰,程序处理一目了然,可读性也高,最稳定的操作系统名不虚传。这也可以从两个操作系统的起源得到解释。Linux起源于互联网时代,由众多爱好者一起完成,并没有一个完整的规划,代码也多次经过变动,而作者水平也参次不齐,造成现在的样子。而FreeBSD系出名门。一直由一个独立的小组进行维护,多年来更新不大,只有少许优化,所以代码的可读性非常高。但从另一方面讲,不断更新的Linux在代码方面比较激进。比如Linux使用skb缓冲效率要较FreeBSD使用的m-buf为高。而且linux发送数据时,复制数据的同时完成TCP的效验。节省了一次数据的遍历操作。也提高了效率。

(2)从效率上讲。Linux略占优势。而如果从稳定性上考虑。FreeBSD应该更胜一酬。不过,这两个操作系统都是非常优秀并久经考验。它们之间的差别也许仅存于纸面分析上。比如说,它们都采用数据缓冲区管理,以避免额外的数据复制操作,也都采用针对体系结构的数据校验算法,以提高数据数据校验的效率。而这,也正是协议栈实现中最大的瓶颈所在。所以,无论选择哪种系统做为服务器,都不会让人失望的,而要是希望学习协议栈的实现。则可以考虑从FreeBSD来人手。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mounter625

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值