免费注册 查看新帖 |

Chinaunix

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

[实践] Linux内核设计的艺术,说说您在源码学习中的人和事(获奖名单已公布-2014-3-13) [复制链接]

论坛徽章:
0
61 [报告]
发表于 2013-07-09 19:41 |只看该作者
还是喜欢对着书看源代码,不懂的地方书能提供指导。

论坛徽章:
2
午马
日期:2015-01-27 11:22:392015年辞旧岁徽章
日期:2015-03-03 16:54:15
62 [报告]
发表于 2013-07-09 23:10 |只看该作者
1、说说您当初学习Linux内核源码是从看那本书开始的,还是直接看源码?
         学lnx kernel 主要是看代码,配合书看, 基本上市面上的书每本对应一个版本, 自己可以搭一个对应的lxr服务器 对着index看代码更舒服。
          然后就是看自己喜欢的部分,或者说工作什么的需要的部分,比如看存储vfs的实现 看得比较多。 也比较几个小版本的实现区别,算法等等。


2、说说您的Linux内核源码学习经验
          基本上就是读不下去的时候,多坚持一会儿。

          蛮枯燥的,看得越深入,发现离顶层框架越远,越不懂。所以需要不时地想 对应的模块在整体的位置。
      
          还有就是最好对着项目看,比如某个driver, 或者一些网络项目, 我是对着一个driver看的vfs部分。 很有裨益。


3、Linux内核的设计对您的工作有何指导意义?
          本身kernel就是一个大项目, 可以看看顶层的设计还有协作的效果, 其实个人觉得这么大的项目这么多人做contribute,倒不一定是好的。大项目有时候商业管理也许更有秩序。linux的发展本身我就觉得不太有秩序。
          当然很多东西是通用的, 比如看oracle db 和linux os,懂得机制,看内部设计, 比如想知道memory allocation怎么样做的,为什么要这么设计,或者lock/spin/latch这些结构原理,都能找到答案, 因为这些结构的锁层级不同,在事务的不同速度要求下,速度和安全性妥协,这些是我们概念上理解的, 而从代码上怎么理解,就需要仔细看代码, 看看linux怎么做的,大概也就明白oracle是怎么做的, 借鉴作用很大。


论坛徽章:
0
63 [报告]
发表于 2013-07-10 10:21 |只看该作者
光看不动手实践等于没用,光感叹架构艺术不动手调优测试寻BUG应聘时还是没用,用人单位会说我们不需要艺术的,我们只需要能快速上手干活的。
真想艺术一下,为什么不去搞BSD,里面很适合新手学习,很有科研艺术。

论坛徽章:
3
CU十二周年纪念徽章
日期:2013-10-24 15:41:34摩羯座
日期:2013-12-01 00:21:362015年迎新春徽章
日期:2015-03-04 09:49:45
64 [报告]
发表于 2013-07-11 00:31 |只看该作者
本帖最后由 banggou 于 2013-07-11 00:31 编辑

1、说说您当初学习Linux内核源码是从看那本书开始的,还是直接看源码?
,从《Linux内核源代码情景分析》开始看的,边看书边看代码
首先看了《Linux内核设计与实现》第二版,(现在也看了第三版,变化不算太大。。),理解了个大概意思把,买了《深入理解Linux内核》,不过感觉看的有点不算太明白了,后来看了说0.11版本的 入手快,玉树也看了下电子书,回过头看,0.11虽然可以用于教学,但是实际使用的意义相对弱化了不少。
之后又买了 《深入Linux内核架构》 调选了需要用到的章节看了下,之后看了深入理解linux网络以及 tcp的前两卷。。。
这些都是兴趣以及实际需要,才开始研究的。

2、说说您的Linux内核源码学习经验
有本书的标题说的好“边学边干 linux内核。。”(貌似是这个把。。。没看这本),但是意思其实很明白了,光看书记得不是很深刻,需要实际使用,比如tcp这样的,光看协议可能不是很深刻,这样你就可以用wireshark抓包看tcp包的结构,再深入的话,可以看wireshark的源码(开源),知道他是怎么来解析的,这么一个过程,你自然对TCP的包头理解更深入了。linux内核也一样,给了你说了中断机制,硬中断 软中断。罗列了很多,你看了半天,过了段时间,又忘记了。效率自然下来了。  所以如果是工作涉及到平台(linux底层),自然你涉及到内核部分比较多,打patch的机会也多,涉及修改内核的机会也有,自然你对书本的理解就更深入了。但如果是学生呢?没这么多实际机会怎么办,一样需要勤于动手,从裁剪开始,深入到内存管理,文件管理部分,,之后,如果需要的话,再看网络部分,或者驱动部分,,一步一步, 多和兴趣小组(如果有的话,或者网上)交流,纸上得来终是浅的。。

3、Linux内核的设计对您的工作有何指导意义?
如同C++的库。linux的内核也是一个宝库,有时候工作由于时间以及进度要求,不会给我们重新发明轮子的时间,而是用现有的轮子模型修饰下就用。linux内核里基本都有,,原理通了,都差不多。最简单的链表部分,难道还需要开发么? glibc里躺着都是。。意思就是说,linux内核是一个宝库,需要能高效的运用(不是抄袭)。这个也是目前研究它的意义所在,,(如果不准备设计新的os的话。。。

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
65 [报告]
发表于 2013-07-11 08:27 |只看该作者
回复 64# banggou


    banggou,很久没见你了
我记得你以前的头像是个妹纸

论坛徽章:
3
CU十二周年纪念徽章
日期:2013-10-24 15:41:34摩羯座
日期:2013-12-01 00:21:362015年迎新春徽章
日期:2015-03-04 09:49:45
66 [报告]
发表于 2013-07-11 17:21 |只看该作者
回复 65# T-Bagwell

额。。。  厉害,看来还是原来的头像印象深刻~~

换去做协议栈了~ 来少了点,罪过 罪过~


   

论坛徽章:
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
67 [报告]
发表于 2013-07-12 21:17 |只看该作者
本帖最后由 chishanmingshen 于 2013-07-12 21:20 编辑

1、说说您当初学习Linux内核源码是从看那本书开始的,还是直接看源码?
书和代码参照着看,这样就可以初步熟悉*老*代码了。。。

2、说说您的Linux内核源码学习经验
多看多想多问。。。

3、Linux内核的设计对您的工作有何指导意义?
应该说对我的人生有指导意义。。。

回复 1# send_linux

论坛徽章:
0
68 [报告]
发表于 2013-07-15 11:09 |只看该作者
1、说说您当初学习Linux内核源码是从看那本书开始的,还是直接看源码?
- 应该是赵炯的0.11吧,之后从Xen的代码入的门,然后直接就是最新的代码了。

2、说说您的Linux内核源码学习经验
- 多混upstream
- 有些list要穿防弹衣(比如mm和调度器之类的是非之地),个人常混迹于netdev,总体还不错
- 跟maintainer搞好关系,有益于代码的merge
- 了解代码的源和流就是代码的历史
- lwn.net不错,特别是收费的部分
- 锻炼身体

3、Linux内核的设计对您的工作有何指导意义?
- 我的工作就是kernel

论坛徽章:
16
2015亚冠之吉达阿赫利
日期:2015-08-17 11:21:462015年迎新春徽章
日期:2015-03-04 09:58:11酉鸡
日期:2014-12-07 09:06:19水瓶座
日期:2014-11-04 14:23:29天秤座
日期:2014-03-02 08:57:52双鱼座
日期:2014-02-22 13:07:56午马
日期:2014-02-14 11:08:18双鱼座
日期:2014-02-13 11:09:37卯兔
日期:2014-02-06 15:10:34子鼠
日期:2014-01-20 14:48:19戌狗
日期:2013-12-19 09:37:46射手座
日期:2013-12-19 09:33:47
69 [报告]
发表于 2013-07-15 13:46 |只看该作者
本帖最后由 embeddedlwp 于 2013-07-15 13:46 编辑

回复 68# crspo


- 有些list要穿防弹衣(比如mm和调度器之类的是非之地)


神马意思?


   

论坛徽章:
0
70 [报告]
发表于 2013-07-15 14:14 |只看该作者
回复 69# embeddedlwp


    就是心里素质要好,要有百折不挠的精神。特别是面对"Make no sense, WTF, don't do this ..."
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP