学习linux内核的一些建议

今日头条

1092人已加入

描述

学习linux内核,这个可不像学一门语言,c或者java一个月或者3月你就能精通掌握。学习linux内核是需要一步一步循序渐进,掌握正确的linux内核学习路线对学习至关重要,本篇文章就来分享学习linux内核的一些建议吧。

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

该怎么学Linux内核

关于linux内核学习路线,再多说几句应用编程,有时候经常会需要的:

1. 学习Linux应用编程,建议看《unix环境高级编程》,把里面的例子都做一遍,会对整个Linux编程有系统都认识。

2. 针对Linux,有本 《Linux系统编程》,学完上一本,这本很快看一遍就懂了。主要是针对Linux具体懂一些内容,讲的挺全了,很实用。

3. Linux网络编程,系统的学习一下《unix网络编程.卷1,套接字联网api》,基本上网络应用相关的程序就都没问题了。

在嵌入式linux学习过程中,你是否会经常有下面的这些感觉:

▪ 是不是学完操作系统原理后觉得纸上谈兵不过瘾?

▪ 是不是面对浩若烟海的Linux内核源代码,迷失在代码的海洋里,无从下手不知所措?

▪ 是不是还没有清晰地理解进程调度算法的实现,操作系统的工作机制?

针对linux内核的学习内容:

 

作为近年来运用越来越广泛,被互联网企业越来越认可的技术,内核底层原理技术该如何学习呢?
这里给大家推荐零声教育全网独家的【Linux内核源码课程体系,通过20项目案例,2W+行手写代码,全面解析6个内核技术方向。

【文章福利】小生推荐自己的Linux后台/内核技术交流群【318652197】整理了一些个人觉得比较好的学习书籍,视频资料共享在群文件里面,有需要的自行添加哦!!!前100名进群领取,额外赠送一份价值699的内核资料包(含视频、电子书、实战项目及代码)

我们Linux内核源码分析课程 5.0版本特色优势在哪
1、五大专题,共计150+个课时
2、20个实战操作模块,2w+代码;
3.报名Linux内核源码分析课程之后的服务

Linux内核上课方式:随报随学|自由安排。课程版本4.12和5.x,总课时:150节课,150+小时。
尊享服务:
1:课件资料,项目代码全配套,视频永久观看权限。
2:老师1v1QQ|微信|电话技术答疑。
3:简历书写,面试指导。
4:后期更新与新增技术免费学。

操作系统
  • 进程管理专题
  1. 操作系统与汇编基础
  2. 进程管理基础
  3. 进程调度模块
操作系统
  • 内存管理专题
  1. 内存管理基础部分
  2. 内存管理进阶部分
操作系统
  • 网络协议栈专题
  1. 网络基础架构
  2. 网络协议栈架构
操作系统
  • 设备驱动管理专题
  1. 设备驱动基础架构
  2. Linux设备模型
  3. 资源分配
  4. 字符设备操作
  5. 块设备操作
  6. NIC网络接口卡
操作系统
  • 文件系统及内核组件专题
  1. 虚拟文件系统
  2. 磁盘文件系统
  3. 数据同步
  4. 内核活动
  5. 开源社区
操作系统操作系统

五:零声服务与内核书籍参考资料

  1. 零声服务

学习方法:

  • 每次课的知识体系 总提到技术博客
  • 不理解的技术点 与老师们进行沟通

面试跳槽

  • 简历梳理 技术凸显
  • 模拟面试 技术表示
  • 薪资谈判 福利争取
  • offer选择 职业规划

内核参考书籍资料

  • 《Linux设备驱动开发详解》 作者:宋宝华 编著
  • 《深入Linux内核架构》 (德) 作者:莫尔勒著 郭旭 译
  • 《Linux内核设计与实现》 原书第3版 作者:拉夫(RobertLove)
  • 《深入理解Linux网络技术内幕》 (意) 作者:Christian Benvenuti 著
  • 《深入理解Linux内核》 第三版(美) 博书 著,陈莉君 张琼声 张宏伟 译
  审核编辑:汤梓红
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分