初学者关于linux深入学习的路线(kernel和linux应用)

1. 了解操作系统基本概念。如果不会,可以学习《操作系统:设计与实现》Andrew S.Tanenbaum 写的那本。以MINIX为例子讲解操作系统的概念。

2.非常推荐,还有一本基础教材叫做Linux内核情景分析。下面是看这本书的建议:

     (1) 首先重点阅读“第1章预备知识”和“第2章存储管理 ”这两章,特别是对于不太熟悉X86架构和段式/页式内存管理的读者。这不仅是因为这两章奠定了全书的基础,还在于“预备知识”这一章虽然篇幅不大,但对Linux的来龙去脉和X86内存管理机制的历史渊源作了详尽的介绍,使读者能够了解到一些内核机制存在的原因和历史背景,我一直认为要了解一项工程技术,首先要了解的是其作用和起源,然后才能更好地掌握其内部实现;再者,第一章和第二章的开头部分很少涉及代码,主要是作者对历史和内存机制的讲解,看起来不会枯燥,同时也可对作者的叙述能力有所领略,不失为阅读本书的好起点。

    (2)关于设备驱动,“第8章设备驱动”占了全书篇幅的约1/4(全书1500多页),但其覆盖的内容也只是冰山一角。作者也特别提到:“由于设备的多样性,设备驱动是一个需要整本专著的大课题”,“此外,有些设备的原理和机制就很复制,需要有专著加以介绍。我们既无足够的篇幅,也缺乏有关的专门知识来深入阐述这些设备的原理、机制和操作”。 尽管如此,对于想了解设备驱动的读者,“第8章设备驱动”仍然值得一读,而且《情景分析》不是一本Linux内核说明书或开发者手册,而是一本带领读者掌握Linux核心原理和了解其背后设计思想的书,作者的一些观点在其他书中难得一见,可以把第8章看做是设备驱动的导读,带着这章提供的全局视角去阅读其他设备驱动的专著,相信会有一览众山小的感觉。

    (3)本书前后章节有很强的依赖关系,对于没怎么接触过Linux的读者建议还是按原文章节顺序阅读,否则直接跳到后续章节阅读会有寸步难行的感觉;而对于已经熟悉Linux的主体框架,想深入理解某个模块的读者,大可以按需挑选章节阅读。

 

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语言看什么谭浩强一样,弯路走了,力气没少花,还严重影响学习效果。

顺便说几句应用linux编程,有时候经常会需要的:
1. 学习Linux应用编程,建议看《unix环境高级编程》,把里面的例子都做一遍,会对整个Linux编程有系统都认识。
2. 针对Linux,有本 《Linux系统编程》,学完上一本,这本很快看一遍就懂了。主要是针对Linux具体懂一些内容,讲的挺全了,很实用。
3. Linux网络编程,系统的学习一下《unix网络编程.卷1,套接字联网api》,基本上网络应用相关的程序就都没问题了。

这些内容,你分几年时间,分步计划学习,就会成为Linux高手了。

原文:https://blog.csdn.net/huaweimember/article/details/51001672 

  • 11
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值