当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 对于内核初学者的一点看法和建议!
帖子发表于 : 2008-09-24 18:29 

注册: 2008-08-01 16:18
帖子: 7
送出感谢: 0 次
接收感谢: 0 次
ckkz520网友在本版发帖阐述了作为linux内核初学者应该看的两本参考书,我觉得ckkz520 网友给出的参考书还不是很全面,如果内核初学者一上来就看这两本书绝对撑不过3天。内核的学习绝对不是一朝一夕可以完成的,我看linux的内核学习至少要不间断学习1年才有所成,所以学习linux内核是急不来的,这绝对是慢工出细活的东西。 给内核的初学者推荐书籍是一个好的习惯,但是更重要的是阐述自己在学习内核过程中所走过的弯路,以提醒后来人!!

我想先要说明一下linux学习的一个误区:
1:学习linux不等于学习linux内核。
2:能用应用层解决的事情,绝对不要在内核层来解决。
3:做内核开发并不一定拿高薪。

对于linux的初学者来说做好是把主要精力放在应用层,你会发现在linux应用层的开发非常的精彩。linux命令和GNU工具的运用、shell编程、gcc与gdb的运用,make与cvs,yacc与lex,mysql的这些工具会让你如虎添翼。标准I/O库,curses,memory管理,System V,pThread,database开发等绝对会让你沉醉于其中。至于内核的学习可以在以后有了需求再来学习内核开发也不晚。借用一句著名的话:两个开发一样精彩! 应用开发推荐书:linux程序设计(第3版),蓝皮的那本。

linux内核的学习牵涉到操作系统的全方面知识,需要你首先对操作系统本身的运行机理要有一定的了解,不要一上来就专攻内核,那绝对会强烈打击你的自信心的,所谓磨刀不误砍柴工嘛,我建议先学习一下操作系统原理的课程(相信大家已经还给老师了吧),如果你是非计算机专业的,那么我就不是建议你学习了,是你必须去学这门课程。在这方面推荐《计算机操作系统》汤子赢的那本,重点阅读前六章。这本书偏重与理论,但是当你有了这些理论的东西之后,再来看内核代码,你会发现linux的内核代码就是用代码实现了这些理论,这是你不容易迷失在茫茫的千万行的内核源代码中。这部分的工作一般最长可在1个月内完成,当然前提是不间断学习!

然后可以开始阅读内核了,开始学习内核一般不是一上来就读2.4或者2.6的可以从低版本的学起,这样有利于入门,也可以拨开云雾见青天,抛开一些无关的东西这样学习得更纯粹一些!这部分的推荐数目是:《Linux内核完全注释2.01》,里面的2.01是书的版本不是linux的版本,书中所描述的linux的版本是0.11大楷是10几年前的版本了!虽然现在已经不再使用了但是对于我们入门学习是绝对有益的!再学习的过程中建议在http://www.kernel.org/去下载0.11的内核,然后用Source Insight建立一个0.11的内核工程这样可以结合源代码来阅读本书。

然后就可以开始现在的通用的内核2.4或者2.6的阅读,阅读2.4或2.6的内核是非常困难的一件事情,建议大家在真正阅读之前还是补习一下两样东西1:c语言,2:数据结构,特别是数据结构中的链表,散列,图,因为内核把这些数据结构运用到了极致,运用到一个你无法想象的地步如果你没有这些知识,那就读代码就会很麻烦!在这里就推荐两本书:《linux设备驱动程序》(第2或3版)这是一本开发驱动的书,linux内核70%的代码是驱动程序,现在内核的开发70%都是在做驱动,如果你了解驱动的开发,那你就真正的进入内核开发者的行列。《LINUX内核设计与实现》第2版,这是一本承上启下的书,它从一个简单视角入手把linux的内核的各个方面的特性娓娓道来,就像一位老师在你身边随时提点你一样,读这本书绝对是有百益而无一害!当然如果有时间可以阅读《深入分析LINUX内核源代码》这是国内在这个学习阶段比较好的书,可以作为对以上2本书的补充!


再然后该做什么呢?其实我也不知道了,应为这是一个高山仰止的境界,我还差个十万八千里,我估计就是在linux内核那自由的蓝色海洋任你遨游了吧!!作为linux内核的学习的一个完美的收尾就推荐两本书:《Linux内核源代码情景分析上下册》,《Understanding.the.Linux.Kernel.3rd.Edition》(中文名:深入理解linux内核 第3版)。


欢迎讨论,大家一起学习!!


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 对于内核初学者的一点看法和建议!
帖子发表于 : 2008-09-24 19:36 

注册: 2008-08-01 16:18
帖子: 7
送出感谢: 0 次
接收感谢: 0 次
哎~~自己沙发自己座!!


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 对于内核初学者的一点看法和建议!
帖子发表于 : 2008-09-24 22:33 

注册: 2008-06-06 12:26
帖子: 33
送出感谢: 0 次
接收感谢: 0 次
楼主,一个帖子你用不着发那么多遍吧????


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 对于内核初学者的一点看法和建议!
帖子发表于 : 2008-09-24 23:09 

注册: 2008-08-01 16:18
帖子: 7
送出感谢: 0 次
接收感谢: 0 次
引用:
楼主,一个帖子你用不着发那么多遍吧????

都怪论坛速度慢,你看人家不是也发几遍嘛!!


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 对于内核初学者的一点看法和建议!
帖子发表于 : 2008-09-24 23:12 
头像

注册: 2008-07-21 9:44
帖子: 2371
地址: 深圳
送出感谢: 0 次
接收感谢: 0 次
不错不错,以后学习时要是找不到参考书再到这瞧瞧。


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 对于内核初学者的一点看法和建议!
帖子发表于 : 2008-09-25 16:27 
头像

注册: 2008-06-13 12:00
帖子: 90
送出感谢: 0 次
接收感谢: 0 次
前些天买了本《Linux程序设计》,不知是不是你说的那本,全英文的,叫《Linux Programming by Example》,书店里只有2005年的那本。不过不知要硬着头皮看多久!


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 对于内核初学者的一点看法和建议!
帖子发表于 : 2008-09-25 20:43 
头像

注册: 2008-07-30 23:21
帖子: 13217
地址: freebuilder@yeah.net
系统: Debian stable AMD64
送出感谢: 36
接收感谢: 121
我觉得对初学者来说,也是那些书最大的一个通病,就是动不动就摆代码,过多的拘泥于部分细节而又忽略很多重要的地方。这就是为什么我宁愿去学bsd的内核。


_________________
(2015-11-16 更新)适合 WM 的截图脚本
(2015-08-24 更新)Debian、Ubuntu 源列表说明
(2013-02-01 首发)文字如何绘出
▷▷ 【更 多 在 此】 ◁◁
箪食瓢饮随遇安,不求栋梁求参天。
【初韵】一门牛逼的编程语言。


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 对于内核初学者的一点看法和建议!
帖子发表于 : 2008-09-26 0:55 

注册: 2008-08-01 16:18
帖子: 7
送出感谢: 0 次
接收感谢: 0 次
楼上的,我不觉得bsd的内核设计得比linux优秀,而且bsd内核资料相对较少!市场需求也不大!


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 8 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译