免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: send_linux
打印 上一主题 下一主题

[FreeBSD] FreeBSD设备驱动和程序开发您知晓多少,积极分享送好书(获奖名单已公布2013-4-12) [复制链接]

论坛徽章:
0
51 [报告]
发表于 2013-03-15 11:15 |只看该作者
回复 50# hellioncu


    国内用FreeBSD的就少,更别说开发FreeBSD程序的,开发FreeBSD驱动的又更少了

论坛徽章:
4
酉鸡
日期:2014-03-21 23:19:50狮子座
日期:2014-08-01 22:11:40酉鸡
日期:2015-01-10 21:31:442015年辞旧岁徽章
日期:2015-03-03 16:54:15
52 [报告]
发表于 2013-03-15 16:47 |只看该作者
从freebsd内核开发转到linux内核的飘过~~

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
53 [报告]
发表于 2013-03-15 17:22 |只看该作者
chishanmingshen 发表于 2013-03-15 16:47
从freebsd内核开发转到linux内核的飘过~~


这个应该有不少经验吧,可以和大家分享一下啊

论坛徽章:
4
酉鸡
日期:2014-03-21 23:19:50狮子座
日期:2014-08-01 22:11:40酉鸡
日期:2015-01-10 21:31:442015年辞旧岁徽章
日期:2015-03-03 16:54:15
54 [报告]
发表于 2013-03-15 19:35 |只看该作者
可是我一直没接触过驱动,没有发言权啊。。。

之前搞协议层。

回复 53# send_linux


   

论坛徽章:
4
酉鸡
日期:2014-03-21 23:19:50狮子座
日期:2014-08-01 22:11:40酉鸡
日期:2015-01-10 21:31:442015年辞旧岁徽章
日期:2015-03-03 16:54:15
55 [报告]
发表于 2013-03-15 20:17 |只看该作者
本帖最后由 chishanmingshen 于 2013-03-16 09:19 编辑

还是谈谈我的感觉吧。

1.拿我比较熟的协议栈看,bsd确实比较稳定。只要读读近二十年前的《详解(卷2)》,即使是现在比较新的9.0,你也会发现很多代码,而且是框架,竟然完全没变!

bsd的协议栈层次清晰,但是linux就没二层的明确处理,而是用skb给了一个间接的处理。

网络的根就是rfc,而bsd对rfc支持是天然的,基本上rfc都是依据bsd实验的。(想想早期rfc时,那个时候还没有linux呢~)


2.没搞过驱动,但是也了解些。
bsd代码变化很少,对驱动支持尤其慢。对于使用bsd开发的公司来说,经常等不了bsd的官方更新,而是从linux直接移植相关驱动。比如atr、rss等。

3.bsd的新技术更新较慢。
比如linux很早就支持smp,而bsd只是近年才支持。而linux下的rps等技术在bsd上更是没听说,slob、slub啥的也一样。

4.bsd创新少
在linux,可以看到cfs已经很革命了,但是在bsd,估计是行不通了的。可能因为当年的unix大师都已经逝去,而linus本人还把关的缘故吧,哈哈。

5.跟gcc的关系
linux跟gcc是彻底的绑定,而bsd则不同,可能用其它代替,比如clang。
看代码可以看出,跟bsd比,linux用的都是强依赖于gnu c的很高级的c语言语法。

6.资料
这个都知道的,bsd资料很少且都是e文的。而linux则满街都是。

7。分支
bsd分支太多,且差异不小。但linux的内核没有分支,不过这个应该是吸取了bsd的教训。
bsd现在已经各个团体维护了,但是linux太多受linus一个人的影响了,不论这个影响是好是坏。


8。用途
Bsd应该只有用于服务器之类的部署,而linux则是遍地开花,android分支都合入主线了。其实我觉得占领了嵌入式就是占领了世界。连嵌入式鼻祖风河都已经开始卖定制linux了。


8。代码
其实作为一个开发者,给我最直观的感觉是bsd的代码很短且稳定,而linux的则太多且变化大。
Bsd代码很简洁,比如在bsd是没有屏障这些晦涩的东西,因为底层已经做好封装了。
而Linux的定位很多,代码太灵活了,自然加大代码量了。


一句话,bsd很经典,linux很潮流。

论坛徽章:
2
技术图书徽章
日期:2013-09-04 15:21:51酉鸡
日期:2013-11-01 21:20:20
56 [报告]
发表于 2013-03-16 11:04 |只看该作者
FreeBSD协议栈上的处理流程很流畅,分支钩子比较少,曾分析过FreeBSD的处理流程,可以在博客或Google上找得到。早年曾喜欢用netgraph做东西,时间长了,就觉得有些鸡肋了,处理流程有些冗余,尽管方便了开发人员。

FreeBSD的代码对于开发者而言,完整性要高于适用性的,不过鲜见国内公司贡献代码给FreeBSD。

貌似10多年前FreeBSD4就支持SMP了,只是支持的不是很好,可以在双P3机器上跑SMP核的。

FreeBSD的内核编译也使用了很多gcc的特性,否则随便用个编译器就编译了。虽说是都是C,但还是有依赖性的。要不然CLANG进入基本系统,也不用这么费劲了。

FreeBSD的内核和外围应用程序是一个整体的。有差异才是最好的,Matthew Dillon当年与FreeBSD开发者意见不合,跑出去弄了个DragonFlyBSD,也搞出了很多特性,比如HammerFS

内核开发不是搞OS,很多都是基于内核的应用开发,比如基于协议栈做的网络安全等等。涉及的代码不是很多,低下头,花上2-3个月,足以吃透协议栈。BSD的代码又很简洁,遇到什么问题,看代码解决问题的成功率是非常高的。觉得内核开发难度高,是因为如果程序出错,很多情况下内核会崩溃掉,对于初学者建立一个可调试内核的开发环境是做内核开发的前提。

评分

参与人数 1可用积分 +4 收起 理由
ulovko + 4 赞一个!

查看全部评分

论坛徽章:
4
酉鸡
日期:2014-03-21 23:19:50狮子座
日期:2014-08-01 22:11:40酉鸡
日期:2015-01-10 21:31:442015年辞旧岁徽章
日期:2015-03-03 16:54:15
57 [报告]
发表于 2013-03-16 11:59 |只看该作者
我说的smp还包括numa,貌似最新bsd还不支持。呵呵

回复 56# mirnshi


   

论坛徽章:
2
技术图书徽章
日期:2013-09-04 15:21:51酉鸡
日期:2013-11-01 21:20:20
58 [报告]
发表于 2013-03-16 12:32 |只看该作者
回复 57# chishanmingshen

smp是基础。但numa与smp是有很多差异的。FreeBSD还没有完全支持numa。
   

论坛徽章:
13
15-16赛季CBA联赛之同曦
日期:2016-01-28 19:52:032015亚冠之北京国安
日期:2015-10-07 14:28:19NBA常规赛纪念章
日期:2015-05-04 22:32:03处女座
日期:2015-01-15 19:45:44卯兔
日期:2014-10-28 16:17:14白羊座
日期:2014-05-24 15:10:46寅虎
日期:2014-05-10 09:50:35白羊座
日期:2014-03-12 20:52:17午马
日期:2014-03-01 08:37:27射手座
日期:2014-02-19 19:26:54子鼠
日期:2013-11-30 09:03:56狮子座
日期:2013-09-08 08:37:52
59 [报告]
发表于 2013-03-17 11:59 |只看该作者
真是一本好书吖

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
60 [报告]
发表于 2013-03-18 09:38 |只看该作者
还是要鼓励一下的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP