跪求大牛传授linux内核学习方法和路线

chaozhisong 2014-04-14 11:18:47
本人学习linux内核一个周了,但是内核中的东西实在是看不太懂,而且不知道那些部分是必须要看的,现在在看linux内核的启动过程。比较困难,请高人指点。
...全文
26370 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
星空探索 2016-07-09
  • 打赏
  • 举报
回复
想学习的加我qq 396445408
oqqINfo1 2016-04-08
  • 打赏
  • 举报
回复
我从现代操作系统看了不下4个版本,发现操作系统的思路可能都是一样的,但是每次名词和归类居然稍有不同,最简单的一个例子:“CPU的功能模块,CPI的生命周期”就有三种不同的解释。 C语言也练的差不多了,用了C语言也有几年了,对寄存器的理解还算在门外徘徊的状态。 现在辞职在家看linux内核,看的蛋疼无比,头大晕菜。linux文件目录结构,安装linux,使用linux,都没特别严重的问题,毕竟在生产中我使用linux也有4年多了。 而最严重的问题就是:“手上握了个石头,偏偏不知道这个石头是什么成分,不知道是金是玉是土”。蛋疼啊蛋疼,我这状态还不知道要辞职在家呆多久。反正不懂linux之前我坚决不去上班了。
无帝老三 2015-12-23
  • 打赏
  • 举报
回复
楼上的楼上是大神,学习了一个月,感觉什么也没学会,学习新知识跪在坚持啊
旅途92 2015-09-28
  • 打赏
  • 举报
回复
我也在学。。。
nuclears 2014-08-02
  • 打赏
  • 举报
回复
以下是我给你的建议,一定要给分啊。 1. 了解操作系统基本概念。如果不会,可以学习《操作系统:设计与实现》Andrew S.Tanenbaum 写的那本。以MINIX为例子讲解操作系统的概念。非常推荐。 2. 有了操作系统的基本概念以后,可以了解Linux的机制了。推荐《Linux内核设计与实现》Robert Love 写的。这本书从概念上讲解了Linux有什么,他们是怎么运行的。这本书要反复认真看透。 3. 有了Linux内核的了解,还需要具体研究Linux内核源码。最经典的就是《深入理解Linux内核》Daniel P. Bovet 写的。学习这本书的时候,要对着内核代码看着学。这本书学起来相当费力了,那么多多代码要研究。不过这本书如果学明白了,恭喜你,Linux内核你已经很熟悉了。 4. 如果要开发设备驱动,可以学习《linux设备驱动程序》O'Reilly出版社的。这本作为驱动的入门是很好的资料。另外还有一本《精通Linux 驱动程序开发》也是不错的教材,可以参考着看。学习驱动,免不了要学习一些硬件的协议和资料,研究哪个就找到相应的硬件文档,把硬件的工作原理搞明白。这些就不细说了。 5. 网络部分,学些Linux网络部分就学习《深入理解LINUX网络技术内幕》。这本书把Linux的网络部分讲的非常清晰透彻。但是通常不做这方面的工作研究,也不用研究这么深,毕竟现在国内相关职位较少。 6. 现在Linux相关的工作,多集中在一些嵌入式开发领域,arm,mips等,要学习以下这些体系架构的的资料,了解CPU的设计和工作方式。ARM就看对应的芯片手册,讲的很细致。MIPS就看 《see mips run》,有一二两版,两版内容有些差异,推荐都看。 7. 补充一点经验。不要认为Linux很庞大,很复杂,就觉的很难学。任何东西认真学下来都是能学会的,看你都恒心和毅力了。另外,不要走弯路,不要看市面上讲什么Linux0.11的那些书,直接学你要学的东西。就像学C语言看什么谭浩强一样,弯路走了,力气没少花,还严重影响学习效果。 你问的内核,多给你说几句应用编程,有时候经常会需要的: 1. 学习Linux应用编程,建议看《unix环境高级编程》,把里面的例子都做一遍,会对整个Linux编程有系统都认识。 2. 针对Linux,有本 《Linux系统编程》,学完上一本,这本很快看一遍就懂了。主要是针对Linux具体懂一些内容,讲的挺全了,很实用。 3. Linux网络编程,系统的学习一下《unix网络编程.卷1,套接字联网api》,基本上网络应用相关的程序就都没问题了。 这些内容,你分几年时间,分步计划学习,就会成为Linux高手了。
ninteo 2014-07-29
  • 打赏
  • 举报
回复
启动代码看不懂说明汇编,保护模式没有学好。其实不要花太多时间在启动代码上,操作系统的精髓还是在进程管理和内存管理上
yandong 2014-05-16
  • 打赏
  • 举报
回复
推荐先看看《自己动手写操作系统》和杨力祥的《linux内核艺术》 内核设计的东西太多,通过这两本书,可以了解一些基础知识。这两本书相对来说内容量小一些。。。。 看完这个之后,就见仁见智了,不是靠看书能学会的,总之是!动手!。选定一个方向或者做出某个东西等等
冰水比水冰 2014-04-30
  • 打赏
  • 举报
回复
其实,我想推荐你一本书《Linux内核完全注释》,我正在看,你可以去看看我的博客,最近刚开始学Linux内核,每天都在更新
再改变 2014-04-25
  • 打赏
  • 举报
回复
为了学习内核而看内核好像困难重重啊,不是短期就能搞定的,且学且坚持吧。两种思路,一是看最早成熟版本的内核;另一个是从某个模块入手深入内核,比如USB模块。在这之前,操作系统基础是必须的啊~
一根烂笔头 2014-04-25
  • 打赏
  • 举报
回复
引用 14 楼 songzhichao4444 的回复:
[quote=引用 13 楼 my_live_123 的回复:] 如果没有学过OS,先看<操作系统第3版>汤子赢:这本书虽然是通用教材,但是OS思想算法绝大多数和linux基本一致,也算必备基础 然后看内核主线<linux内核设计与实现>.看过后你会发现和上面那本书框架差不多,不过这里单一针对linux主要的算法和实现原理 再升级:<深入理解linux内核>这是不朽之作,真正的把内核原理剖析的相当细,原理讲解也很清楚! 其他分支《深入理解网络技术内幕》《设备驱动》《精通设备驱动开发》《内核架构》都可以涉猎,此外还有个边角料《程序员自我修养,装载,链接》这个看了对内核进程PCB相关段内容有帮助,以及linux主要程序格式ELF解析 一定要看看源代码, 祝你学习愉快!
你推荐的还是很有用的非常感谢。请问你linux内核大约花费了多长时间来学习?[/quote] 这个可不像你学一门语言,c或者java一个月或者3月你就能精通掌握。这是一门长期修养,东西多的很。内核一个分支系统深入进去都够折腾半年的!再说光看也是白瞎,不开发不用也没有必要学它。可以说没有个三五年的研究和实践应用,不要说自己入门了!这群世界各地的黑客都不是吃干饭的,精通内核就大致达到了他们的地位,你说这需要多长时间呢?总言之:你距离黑客有多远,你就需要多少时间! 这是高要求喽,如果是只是玩玩,那就随意喽!
chaozhisong 2014-04-24
  • 打赏
  • 举报
回复
引用 13 楼 my_live_123 的回复:
如果没有学过OS,先看<操作系统第3版>汤子赢:这本书虽然是通用教材,但是OS思想算法绝大多数和linux基本一致,也算必备基础 然后看内核主线<linux内核设计与实现>.看过后你会发现和上面那本书框架差不多,不过这里单一针对linux主要的算法和实现原理 再升级:<深入理解linux内核>这是不朽之作,真正的把内核原理剖析的相当细,原理讲解也很清楚! 其他分支《深入理解网络技术内幕》《设备驱动》《精通设备驱动开发》《内核架构》都可以涉猎,此外还有个边角料《程序员自我修养,装载,链接》这个看了对内核进程PCB相关段内容有帮助,以及linux主要程序格式ELF解析 一定要看看源代码, 祝你学习愉快!
你推荐的还是很有用的非常感谢。请问你linux内核大约花费了多长时间来学习?
一根烂笔头 2014-04-23
  • 打赏
  • 举报
回复
如果没有学过OS,先看<操作系统第3版>汤子赢:这本书虽然是通用教材,但是OS思想算法绝大多数和linux基本一致,也算必备基础 然后看内核主线<linux内核设计与实现>.看过后你会发现和上面那本书框架差不多,不过这里单一针对linux主要的算法和实现原理 再升级:<深入理解linux内核>这是不朽之作,真正的把内核原理剖析的相当细,原理讲解也很清楚! 其他分支《深入理解网络技术内幕》《设备驱动》《精通设备驱动开发》《内核架构》都可以涉猎,此外还有个边角料《程序员自我修养,装载,链接》这个看了对内核进程PCB相关段内容有帮助,以及linux主要程序格式ELF解析 一定要看看源代码, 祝你学习愉快!
ongcai 2014-04-21
  • 打赏
  • 举报
回复
同问。坐等大神回复。
KING1111111111 2014-04-20
  • 打赏
  • 举报
回复
据我所知,没有啥捷径吧。老实一点一点啃吧。个人愚见:看看经典的书,比如《Linux内核设计与实现》->《深入理解Linux内核》->《Linux驱动程序》,当然读源码必不可少,推荐对一下早期的0.11版本吧。研究这玩意,大部分人还是为了练内功吧。真正能在上面动刀的人不多吧?
chaozhisong 2014-04-18
  • 打赏
  • 举报
回复
大神在哪里?
dong101692 2014-04-18
  • 打赏
  • 举报
回复
怎么没大神回复
chaozhisong 2014-04-17
  • 打赏
  • 举报
回复
求大神
stocksa 2014-04-15
  • 打赏
  • 举报
回复
我准备学习Linux了,不知道给如何下手啊。。。我们老师让我不要使用图形界面,那样有用吗?
fly 100% 2014-04-15
  • 打赏
  • 举报
回复
买本内核详解的书大致看看 文件都是什么作用就好了 其他的还是得跟着项目走 毕竟内核一般改动也不多 都是移植一下
加载更多回复(3)

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧