- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
对于学习这种复杂的事情来说,无论是我们在学校的课堂学习,还是这里说的内核学习,它的效果好与坏,最主要取决于两个方面:一个是学习的方法,另一个就是学习时的心理。没有一个好的心态,即使有再好的方法论,学习内核的时候也不会取得好的效果。 心理上的问题主要有两个,第一个是盲目,也可以说是盲从,就是在能够熟练使用Linux之前,对Linux是什么东西还说不出个道道来,就迫不及待的盲目的去研究内核的源代码。这一部分人主要觉得既然是学习内核,那么耗费时间在熟悉Linux的基本操作上纯粹是浪费宝贵的时间和感情。不过这样虽然很有韩峰同志的热情和干劲儿,但却明显走入了一种心理误区。需要再次强调Linus的那句话:要先会使用它。 第二个心理问题就是恐惧。我们在面对复杂的物体和事情时总会有一种天生的惧怕感,体现在内核学习上面就是:那么庞大复杂的内核代码,让人面对起来该情何以堪啊! 有了这种恐惧无力感存在,心理上自然就会去对接触内核源码产生排斥,宁愿去抱着情景分析,搜集各种各样五花八门的内核书籍当武功秘籍一样放在那里屯着,看了又忘,忘了又看,也不大情愿去认真细致得浏览源码。 这个时候,我们在心理上是脆弱得,我们忘了凤姐之所以能够红起来,不是她真的有多好,不是因为她的才华真的像她宣称的那样前无古人后无来者,而是只是因为她的心理足够坚强。我们要想在内核的世界里走的远,就必须要学习她那种坚强的心理。 我们应该明白,学习内核,就是学习内核的源代码,我们必须要以内核源码为中心来开展内核的学习。任何内核有关的书籍都是基于内核,而又不高于内核的。内核源码本身就是最好的参考资料,其他任何经典或非经典的书最多只是起到个辅助作用,不能也不应该取代内核代码在我们学习过程中的主导地位。 既然学习内核就是学习内核的源码,我们就不可避免要不断的去浏览分析内核的源码,一个好用浏览代码的工具或者环境就显得很重要了。 通常来说,在windows下面,有很多比较好的IDE可以用来浏览代码,比如source insight,它可以很方便的在代码之间进行关联阅读。但是对于Linux新人来说,有没有一个功能类似的浏览代码的工具就成为一个很常见的问题。这样的工具当然是有的,它就是vim。虽然vim默认的编辑界面很普通,甚至说很丑陋,但是可以通过配置文件为它添加不同的界面效果。同时还可以配合TagList、WinManager等很多好用的插件或工具,将vim打造成一个不次于Source Insight的很好很强大的代码浏览与编辑工具。 而在vim众多的插件中,最为常用应该就是cscope与ctags组合。使用vim+cscope+ctags这个套装,我们可以方便地知道某个函数定义的确切位置以及它被哪些函数所调用,某个变量在哪里被赋值,某个符号曾经在哪些地方使用过等等。 这张图里显示的就是查找start_kernel函数定义时的场景,下面的命令栏里显示找到了多个start_kernel的定义,在光标提示的地方输入“4”,按回车,就会跳转到内核源码树中init目录下面main.c文件中start_kernel定义的位置。 解决了心理问题,又有了强大好用的浏览代码的工具,我们就应该能够直面内核的源码了。内核代码千千万,又到处像个迷宫一样,不迷路都很难,又怎么去直面它? 想像一下我们到一个新的地方时候,通常最需要的是什么东西?没错,就是地图,当然你要说最需要taxi我也没办法。比如我们去香港的时候,过关后,总会有免费的地图和各种指南拿,有了它们在手里我们才不至于无头苍蝇一样很迷惘的走在陌生的街道上。即使在内地我们出去旅游的时候一般来说也总是会首先找份地图,只不过这时是买的而已。 在内核这个迷宫里,也有这样的地图,这句话应该是我们所有学习内核的人的福音。内核中的地图就是Kconfig和Makefile文件。 毫不夸张地说,Kconfig和Makefile是我们浏览内核代码时最为依仗的两个文件。基本上,内核中每一个目录下边都会有一个Kconfig文件和一个Makefile文件。对于一个希望能够在内核的汪洋代码里看到一丝曙光的人来说,将它们放在怎么重要的地位都不会过分。 地图能够引导我们去认识一个城市,而Kconfig和Makefile则可以让我们了解一个内核目录下面的结构,帮助我们定位希望研究的目标代码。我们每次浏览内核寻找属于自己的那一段代码时,都应该首先看看目录下的这两个文件。 这里这张图就是内核的地图,其中的每个领地都拥有Kconfig和Makefile文件,通过它们就可以很容易的定位该领地上的代码。 因为这次时间有限,我就不再介绍Kconfig和Makefile的语法了,其实我们也不需要将它们研究的很深入,只要能够看懂文件里的意思就可以了。下面假设我们要分析u盘的驱动,首先我
您可能关注的文档
最近下载
- 详解2025年“国家安全 青春挺膺”主题团日活动.ppt VIP
- 常见社区健康问题(症状)规范化全科诊疗路径答案-2025年华医网继续教育.docx VIP
- 《医学美容技术》实习教学大纲.pdf VIP
- 地方标准-黑土区侵蚀沟治理工程技术规范DB23_T 3763-2024.docx VIP
- 给水排水工程混凝土构筑物变形缝技术规范,T_CECS117-2017,.pdf VIP
- 土壤检测报告.docx VIP
- 水池蓄水试验方案.docx VIP
- 四年级英语上册 Unit 7 Working or Playing教案 广东版开心.doc VIP
- TCADBM9-2019_玻璃隔热涂料质量评定标准.pdf VIP
- 围产期降压药物临床应用管理指南2025年解读.pptx
有哪些信誉好的足球投注网站
文档评论(0)