
本帖最后由 宅男女神 于 2016-4-18 16:39 编辑
[电子书]《Linux内核修炼之道》(pdf版)
前言..........................................................................................................................................................5
本书的组织形式..............................................................................................................................6
精华版方法论部分导读......................................................................................................................8
Linux大史记....................................................................................................................................9
内核学习的方法论..........................................................................................................................9
驱动开发的方法论........................................................................................................................12
Linux内核问题门..........................................................................................................................13
缅怀已逝的十八年(1991~1998)............................................................................................14
Linux诞生记..................................................................................................................................15
泰坦尼克的狂潮............................................................................................................................16
缅怀已逝的十八年(1999~2002)............................................................................................17
提前发生的革命............................................................................................................................17
和平、爱情和Linux......................................................................................................................19
缅怀已逝的十八年(2003~2006)............................................................................................20
Ubuntu4.10................................................................................................................................20
RichardStallman的征婚启事....................................................................................................22
缅怀已逝的十八年(2007~2009)............................................................................................24
来自微软的指控............................................................................................................................24
首款Android手机........................................................................................................................28
Linux信用卡..................................................................................................................................29
KERNEL地图:KCONFIG与MAKEFILE...............................................................................................31
2
Makefile不是MakeLove...........................................................................................................31
利用config和Makefile寻找目标代码.....................................................................................32
分析内核源码如何入手?(上)....................................................................................................34
分析README...............................................................................................................................35
分析config和Makefile.............................................................................................................37
分析内核源码如何入手?(下)....................................................................................................41
态度决定一切:从初始化函数开始............................................................................................41
内核学习的心理问题........................................................................................................................49
内核学习的相关资源........................................................................................................................50
内核文档........................................................................................................................................51
经典书籍........................................................................................................................................52
内核社区........................................................................................................................................54
其他网络资源................................................................................................................................55
模块机制与“HELLO WORLD!”.....................................................................................................56
设备模型(上)................................................................................................................................59
设备模型(下)................................................................................................................................65
内核中USB子系统的结构............................................................................................................65
USB子系统与设备模型................................................................................................................67
驱动开发三件宝:SPEC、DATASHEET与内核源码.........................................................................69
LINUX内核问题门——学习问题、经验集锦.................................................................................70
Linux内核学习常见问题..............................................................................................................71
Linux内核学习经验......................................................................................................................74
3
攻城狮论坛 bbs.vlan5.com #^_^# 版 权 归 原 作 者 所 有 本 资 料 仅.供试读
攻城狮论坛(技术+生活)群 2258097
《LINUX内核修炼之道》精华分享与讨论(14)——内核中的链表..........................................76
《LINUX内核修炼之道》精华分享与讨论(15)——子系统的初始化:内核选项解析...........83
《LINUX内核修炼之道》精华分享与讨论(16)——子系统的初始化:那些入口函数...........90
《LINUX内核修炼之道》精华分享与讨论(17)——子系统的初始化:以PCI子系统为例....96
《LINUX内核修炼之道》精华分享与讨论(18)——选择发行版............................................101
《LINUX内核修炼之道》精华分享与讨论(19)——不稳定的内核API.................................104
《LINUX内核修炼之道》精华分享与讨论(20)——学会使用GIT.........................................106
《LINUX内核修炼之道》精华分享与讨论(21)——二分法与PRINTK()..............................110
二分查找法的基本原理..............................................................................................................110
printk()........................................................................................................................................111
至此落笔之际,恰至Linux面世18周年,18年的生长,如梦似幻,风雨颇多,慨叹颇多。
犹自忆起多年曾经一位长辈训导时的告诫:今天的必定恰是由之前一系列的偶尔所决议的。曩昔的某年某月,我偶尔初识Linux就身陷其间,至今仍找不到出去的路,而恰是这次乃至以后的多次偶尔相联合,然后决议了今天的我要在此写下这些话。那么,当您偶尔地拿起这本书,偶尔地看到这段话,您是不是会问自个:这么的偶尔又会致使什么样的必定?
假如您仍然决议持续这次的偶尔之旅,那么首先请知道两自个,准确的说是一自个和一只企鹅。这自个天然即是LinusTorvalds,咱们也但是称他为Linus或李纳斯,恰是这位来自芬兰的天才,在1991年1月2日,攥着在圣诞节和生日得到的钱,偶尔地做出了一个严重的财务决议,分期三年买一台价格3500美元得容颜平平得计算机,然后Linux开端了。
企鹅则是Linux的标志,许多人或许不知道Linus,但是却或许知道这只企鹅,这是一个古怪的景象,就像许多人知道微软,却不知道比尔盖茨。不管怎么说,是Linus刻画了这只企鹅,并让它有一副爽透了的姿态,就像刚刚吞下一扎啤酒。除此之外,这只企鹅还要很格外,别的的企鹅都是黑嘴巴黑脚蹼,但它却是黄嘴巴黄脚蹼,这使它看上去好像是鸭子与企鹅的杂交种类,或许它是唐老鸭在南极之旅中与一只本地企鹅一夜倾情的结晶。
其次,在您持续之前,我还想请您问自个一个疑问:我在逼迫自个学习内核么?我很期望您能答复不是,但期望与实际通常都有段不小的间隔,由于许多时分,我都发现身边的人是由于觉得内核很高深而逼迫自个喜爱的。逼迫自个去喜爱一自个是多么苦楚的作业。或许,关于这个疑问,最让人愉悦的答复是“说实话,我学习的热心历来都没有低落过。”正如Linus
5
攻城狮论坛 bbs.vlan5.com #^_^# 版 权 归 原 作 者 所 有 本 资 料 仅.供试读
攻城狮论坛(技能+生活)群 2258097
在自个的自传《JustforFun》中期望的那样。
本书的组织形式
本书将Linux内核的学习分为四个层次:全部了解,把握基本功;爱好导向,挑选要点深度研究;融入社区,参加开发做奉献;坚持,坚持,再坚持。总结起来,即是“全部了解抓基本,爱好导向深研究;融入社区做奉献,坚持坚持再坚持。”(假如您是一个修真小说爱好者,尽可以将其与炼气、筑基、结丹和元婴等层次相对应。)
榜首层次修炼的内容包含了前三章,意图是期望您可以对Linux以及内核有个全部的知道和了解,把握剖析Linux内核源代码的剖析办法。
第1章主要介绍了Linux的18年生长史,或许您会愿意陪我一起思念下这曩昔的十八年。
第2章介绍内核的装备和编译进程,和任何大型软件源码的学习相同,学会编译和装备是榜首步。
第3章介绍学习内核需求的根底,内核的体系构造、目录构造、代码特色,阅读内核代码的东西,最终,杰出强调了内核源码剖析进程中极为主要的两个人物——Kconfig和Makefile,并以USB子体系为例,演示了怎么使用这两个人物进行代码剖析。
第二层次的修炼包含了第4~11章的内容,对内核大都有些的作业原理进行介绍。依照知道的发展规律,在榜首层次修炼中现已对内核有个大局的知道和了解以后,接下来就应当以爱好为导向,寻觅一个子体系或模块,对其代码深化研究和剖析,不明白的当地就经过社区、邮件列表或许直接发Email给maintainer讨教等途径弄懂,切勿得过且过,这么剖析下来,对同步、中止等等内核的许多机制也相同会十分了解,俗话说一公例百通即是这个道
6
理。
因此第二层次的各个章节里,只是阐释要点的概念和作业原理,协助您在剖析该有些代码时进行了解,并不求翔实。
第4章评论体系的初始化,万事开头难,体系的初始化是一个很复杂的进程,不过关于内核源码的学习来说,以这个有些开端应当是个不错的挑选。格外是子体系初始化的评论,应当是您挑选任何内核子体系开端剖析时都需求了解的内容。
第5章评论体系调用,它是应用程序和内核间的桥梁,学习并了解它是咱们走向内核的一个极好的过渡。
第6章评论内核的中止处理机制,包含简直任何一本内核书本都没有触及的通用IRQ层。
第7章评论进程的内核笼统,以及进程怎么被创建和毁掉。假如咱们将计算机上运行的操作体系以及各种各样的软件看作一系列有机的生命体,而不是死的指令调集,那么这即是一个进程的国际,只不过与咱们人类国际不相同的是,进程国际里的个别是一个一个鲜活的进程,而不是人。人的国际有品德与法令去制约办理,进程的国际相同也有自个的办理机制,这即是第7章所要展现的内容——进程办理。
第8章评论进程的调度,要点评论了在内核历史上具有主要地位的O(1)调度器和最新的CFS调度起。
第9章评论内存办理,内存即是进程的家,这儿评论内核怎么为每个进程都分配一个家,并尽量的去做到“居者有其屋”,以及确保每个家的安全。
第10章评论文件体系,主要是虚拟文件体系(VFS),它经过在各种详细的文件体系之
7
上树立一个笼统层,屏蔽了不相同文件体系间的区别。
第11章评论设备驱动,关于驱动开发来说,设备模型的了解是底子,spec、datasheet与内核源代码的使用是要害。
经过第二层次的修炼,您应当对最少一到两个有些有了很深化的了解,对内核代码选用的通用方法也现已很拈熟,那么您应当开端进入第三层次,尽力融入到内核的开发社区,此刻的您现已不会再是社区中潜水小白的人物,而是会关于某个疑问宣布自个的见地。您现已可以测验参加到内核的开发中去,即便只是修改了内核中的一个过错单词,翻译了一份咱们需求的文档,也是做出了自个的奉献,会得到咱们的认可。
本书中第三层次只包含了两章的内容,这是由于内核的修炼之道越往后便越依赖于自个,任何参考书都代替不了自个不断的反思与总结。
第12章评论参加内核开发需求了解的一些根底信息。
第13章评论了内核的调试技能,与第12章相同,您可以只是将这些内容当作内核修炼中的一些tips。
至于最终的第四层次,更是仅有两个字——坚持。可以在内核的修炼之道上走多远,都取决于咱们可以坚持多久,或许一个用一个公式归纳更为适宜:心态+爱好+激情+时刻+X=Y。
革新没有成功,我等仍需努
资源批量下载地址: ---> http://bbs.vlan5.com/forum-94-1.html
更多精品资源,打包下载(可按知识点/发布日期/培训班/讲师等方式批量下载视频/文档/资料/电子书)
论坛便捷链接:
能帮助您和更多的人找到自己想要的资料并取得更大进步,是我们最大的愿望。 |
本贴附件下载链接:
|
|