免费注册 查看新帖 |

Chinaunix

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

[实践] 它山之石,可以攻玉--从内核中学到了什么(获奖名单已公布-2014-4-21) [复制链接]

论坛徽章:
17
水瓶座
日期:2013-08-29 12:09:27白羊座
日期:2014-08-07 12:36:42丑牛
日期:2014-07-24 12:44:41寅虎
日期:2014-04-16 16:15:33寅虎
日期:2014-03-12 09:28:43摩羯座
日期:2014-03-06 13:22:04技术图书徽章
日期:2014-03-06 11:34:50天蝎座
日期:2014-01-09 11:31:44寅虎
日期:2013-12-27 17:01:44双子座
日期:2013-12-27 12:32:29双子座
日期:2013-12-25 09:03:33丑牛
日期:2013-12-24 16:18:44
71 [报告]
发表于 2014-03-19 01:12 |只看该作者
回复 70# gvim

能否请推荐更多的 BSD方面的资料呢,个人对设计方面很感兴趣,希望能和 linux做个对比!

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
72 [报告]
发表于 2014-03-19 09:36 |只看该作者
回复 70# gvim

再次感谢 gvim 兄的分享,可以的话,多分享一些 BSD 的实现。:wink:


   

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
73 [报告]
发表于 2014-03-19 09:37 |只看该作者
回复 71# asuka2001

嗯,支持。


   

论坛徽章:
2
CU十二周年纪念徽章
日期:2013-10-24 15:41:34处女座
日期:2013-12-27 22:22:41
74 [报告]
发表于 2014-03-19 11:27 |只看该作者
回复 70# gvim


吓我一跳,我还以为被IBM吹得神乎其技的Watson系统被用作代码浏览器了(还有小广告)... ...

任何正式的库想做这些事都不会差,我不知道实现一些通用数据结构有什么好吹虚的。另外,一些C语言里的技巧,比如container_of,我在八十年代的BSD代码里就见过,但它未必是BSD的原创。这些上古的技巧很难追溯源头,先出现在BSD是因为BSD先出现。

初始化与总线抽象更不谈是BSD设计出来,这些scheme可能远在C语言诞生之前就产生了。模块化的初始化就是data-direct编程模型,七十年代出版的SICP里就介绍了。Linux里也有类似阶段,但并未应用在整个初始化过程中。另外:

* This allows simple addition of new kernel subsystems that require
* boot time initialization.  It also allows substitution of subsystem
* (for instance, a scheduler, kernel profiler, or VM system) by object
* module.  Finally, it allows for optional "kernel threads".


Linux是不希望核心子系统被替换的。就这样BSD也能挤出一点设计上的优越感?BSD的优越在于社区的小而精,学术派的严谨,网络方面的积淀,以及对整个生态系统的支持。就这也能让某些BSD爱好者看Linux像看乡巴佬一样。

我在某本书里,可能是APUE,看过这样一段话,这段话应该写于90年代初,大意是,在已经有几种免费BSD的情况下,Linux还能存在发展,真不容易。现在或许要反过来说了吧,在已经有Linux的情况下,几种免费的BSD还能存在发展,真不容易。

最后,OS开发者们瞧不起的应用层不知道有多少优秀的设计思想。从OO或者函数式编程中吸取营养比在OS里折腾不知道健康多少倍,想从OS代码里学设计还是洗洗睡吧。

论坛徽章:
17
水瓶座
日期:2013-08-29 12:09:27白羊座
日期:2014-08-07 12:36:42丑牛
日期:2014-07-24 12:44:41寅虎
日期:2014-04-16 16:15:33寅虎
日期:2014-03-12 09:28:43摩羯座
日期:2014-03-06 13:22:04技术图书徽章
日期:2014-03-06 11:34:50天蝎座
日期:2014-01-09 11:31:44寅虎
日期:2013-12-27 17:01:44双子座
日期:2013-12-27 12:32:29双子座
日期:2013-12-25 09:03:33丑牛
日期:2013-12-24 16:18:44
75 [报告]
发表于 2014-03-19 12:28 |只看该作者
本帖最后由 asuka2001 于 2014-03-19 12:31 编辑

回复 74# tempname2

个人感觉,当需求不同时,对比设计的优劣没有太多意义!

关注点不同,面临的复杂度也不同,谈论谁优谁劣就好比关公战秦琼而已!

学习各种设计的闪光点,开阔自己的眼界,这才是最重要的!

OS的设计不是银弹,也没有达到不可删减的完美之道。认为 OS的设计就是 only me,本领最大这是很可笑的!

不过 OS作为最为复杂的并行系统之一,由于涉及的方面很多,面临很多的实际实现问题,能够学习,开阔自己眼界的方面更多。加上 OS的通用性,学习它可以获得长期稳定的回报。机制永不过时,策略相对短寿!因此从我个人角度而言,更愿意将时间投资到上面:)

至于应用层的优秀设计,说实话涉及太少,毕竟应用层的需求千百万,很多与自己无关的领域不可能有这个精力去关注。非常希望 tempname2能够推荐一些!

眼界决定境界!包容并蓄方是王道:)

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
76 [报告]
发表于 2014-03-19 13:02 |只看该作者
本帖最后由 gvim 于 2014-03-19 13:46 编辑

回复 74# tempname2


    朋友,先了解下BSD的实现再说吧,别望文生义。

>>>
我也是靠Linux吃饭,它能做到今天这样,自然有它可学习的地方。可代码实现水平和设计水平看一眼代码高下立判,说设计和实现更优良这也成了少部分人的"吹嘘",嗯,反正代码在那里,每人都有眼睛,有自己的知识范围和眼界,各人有个人的判断,说我吹嘘那就吹嘘吧。
我说这些的原因,是想告诉大家,这个世界不仅有Linux,很多牛逼的让人惊艳的东西,也不都是Linux创造出来的,技术不应该用成王败寇来铭记(所有这些东西都是Linux自己有多牛逼而忘记了它也是站在巨人肩上)。如果有时间了解一下Solaris和*BSD的设计和实现,怎么说呢,打个比方,windows+linux的市场占有率比osx高太多,不否认大多数人都用的windows、linux,从这个圈子看看外面,了解使用下osx,会有不一样的体验。

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
77 [报告]
发表于 2014-03-19 13:37 |只看该作者
本帖最后由 gvim 于 2014-03-19 13:56 编辑

回复 75# asuka2001

内存里面现在各系统用的都是sun的Jeff Bonwick设计的东西,包括BSD、Linux在内的系统都是用的这个,
文件系统不用说了,ZFS是现在唯一可在生成上使用的强大系统,这也是Jeff Bonwick设计的,不过现在Oracle闭源了,也只能从illumors,SmartOS,BSD这些系统来了解ZFS了,
BUSDMA是总线抽象的设计,netbsd95年左右设计出来的,它主打可移植,整个体系很通用,
GEOM是05年左右,FBSD设计的,磁盘通用转换框架,这上面支持软RAID,加密,压缩,日志等等功能,链式作用比如你可以分别使用压缩功能,加密功能,也可以串起来提供一个加密压缩的数据流等等,
Jail98年就有了,现在linux出的好像叫lxc,提供操作系统级别的虚拟化。

如此这些都是框架级的设计,还有些我不熟悉的就不说了,功能上我前面已经表明了态度,和linux还是有不少差距。资料的话很少,Solaris有本内核书,现在源代码在Oracle的站上都不容易找到,BSD有本内核书叫设计与实现的,其余的基本都是看设计论文,会议讲稿,wiki,手册文档此类。


补充一个,还有个让我印象深刻的是*BSD的构建体系,做过嵌入式开发或者折腾过LFS的人,很难想象一个命令构建系统的快感,mk体系设计的很强大。可能有人会说buildroot,我也只能呵呵,先了解了再说。

论坛徽章:
17
水瓶座
日期:2013-08-29 12:09:27白羊座
日期:2014-08-07 12:36:42丑牛
日期:2014-07-24 12:44:41寅虎
日期:2014-04-16 16:15:33寅虎
日期:2014-03-12 09:28:43摩羯座
日期:2014-03-06 13:22:04技术图书徽章
日期:2014-03-06 11:34:50天蝎座
日期:2014-01-09 11:31:44寅虎
日期:2013-12-27 17:01:44双子座
日期:2013-12-27 12:32:29双子座
日期:2013-12-25 09:03:33丑牛
日期:2013-12-24 16:18:44
78 [报告]
发表于 2014-03-19 14:32 |只看该作者
回复 77# gvim

非常感谢版主的无私分享!多见识点东西总是不会错的!

论坛徽章:
2
CU十二周年纪念徽章
日期:2013-10-24 15:41:34处女座
日期:2013-12-27 22:22:41
79 [报告]
发表于 2014-03-19 15:55 |只看该作者
gvim 发表于 2014-03-19 13:02
我说这些的原因,是想告诉大家,这个世界不仅有Linux,很多牛逼的让人惊艳的东西,也不都是Linux创造出来的


你真以为搞Linux开发的人这么自以为是?大家都清楚Linux是在何种天时地利下成功的,都知道跟商业或古典的Solaris、AIX、BSD间的优劣。大家生存的环境就不同,你在Linux社区里说这么这么做是layer violation,马上会有人跳出来要求停止学术讨论。而BSD粉:我这学术严谨的数据结构,我这教科书般设计的初始化函数,再看看Linux那坨屎。。。我不爽的就是这个态度。

另外,不要以为搞Linux的人大多封闭自固。代码都是开放的,大家自然会做学习比较。我相信Linux社区每次推一个核心feature时都与其它操作系统做过比较借鉴,甚至是Windows ! 倒是BSD的人看别人总像看井底之蛙一般,莫名其妙。

最后一点题外话,我最佩服BSD的,是它的社区没有Linux内核社区那样功利。我相信在那里能找到更纯粹的技术爱好者。很多人自称热爱Linux内核,其实呢,呵呵。它太famous了,招蜂引蝶,我在学生时代也被这样吸引。就我个人而言,Linux确实很美妙,我把它列为我的兴趣之一,但也只排在我诸多兴趣的尾端。如果有一天我的工作与之完全无关,我可能仍会抽空在源码里逛逛,但不会像过去或者现在那样花时间了。

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
80 [报告]
发表于 2014-03-19 16:34 |只看该作者
本帖最后由 gvim 于 2014-03-19 16:45 编辑

回复 79# tempname2

既然你说是Linux社区,那讨论个扯淡的Unix做什么?送书送Linux就完了弄个Unix内核分析做什么?连我说的什么东西都没搞清楚马上跳出来喷,自己要当**还想立个牌坊先给对方扣个自以为是吹嘘的帽子,你不爽自己打飞机爽去,想怎么爽都行。

和你的口水到此为止,还是那句话,代码都在那里,自己去看自己评判,说出OS里没设计观摩的人,也不会有多高眼界。与没什么眼界的人说话降低我的层次。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP