下面我们来论述学习Linux内核的各个阶段:
- 第一阶段: 先形成整体轮廓,比如对Linux的进程、内存、I/O、驱动模型有一些基本的认识,开始写一些简单的内核模块,比如hello-world模块、globalmem、globalfifo这样的字符驱动,你一定要动手。这个时候你可以看的书是《Linux内核设计与实现》,还有驱动的书。
- 第二阶段:从事具体的工作,在某个子系统(无论是进程、内存、IO还是驱动)从事工作,加新的功能,修bug,发patch,加深对知识的理解。这阶段你如果有兴趣,也有耐心,可以读《深入理解Linux内核》、《深入Linux内核架构》这样的书,不过懒得看也没有关系,因为你工作的时候,会自然而然地自己进行代码分析。
- 第三阶段(回归第一阶段):你已经工作了一段时间,写了一些代码,修复了一些bug,提交了一些patch,然后你重新回来迭代整体的知识框架,搞清楚各个子系统内在的联系。这阶段你如果有兴趣可以读《深入理解Linux内核》、《深入Linux内核架构》这样的书,不过懒得看也没有关系,因为你的工作让你自己有了分析的能力。
- 第四阶段(回归第二阶段):从事具体的工作,在某个子系统(无论是进程、内存、IO还是驱动)从事工作,加新的功能,修bug,发patch,加深对知识的理解。这阶段你如果有兴趣可以读《深入理解Linux内核》、《深入Linux内核架构》这样的书,不过懒得看也没有关系,因为你的深入的工作,会让你自己具备了理清脉络和深入细节的能力。
接下来怎么办?不停地循环!生命不息,循环不止!两情若是久长时,又岂在朝朝暮暮。下面给大家推荐怎么学习
这里给大家分享的是零声学院的的Linux内核源码课程,对标腾讯T9,获得官方认证。
主要从
- 操作系统原理专题
- 进程管理专题
- 内存管理专题
- 网络协议栈专题
- 设备驱动专题
- 内核组件专题
- 文件系统专题
- 内核项目实战专题
- 等等。。。
方面系统全面的讲解Linux内核源码开发技术。
Linux内核源码/内存调优/文件系统/进程管理/设备驱动/网络协议栈-学习视频教程-腾讯课堂ke.qq.com/course/4032547?flowToken=1040236
操作系统原理/汇编专题
进程管理专题
内存管理专题
网络协议栈专题
设备驱动专题
内核组件专题
文件系统专题
内核项目实战专题
适合于
- 从事业务开发多年,对底层原理理解不够深入的在职工程师
- 从事嵌入式方向开发,想转入内核开发的在职工程师
- 从事Qt/MFC等桌面开发的,薪资多年涨幅不大的在职工程师
- 从事非开发岗位(算法岗,运维岗,测试岗),想转内核开发岗位的在职工程师
- 工作中技术没有挑战,工作中接触不到新技术的在职工程师
- 自己研究学习速度较慢,不能系统构建知识体系的开发人员
- 了解很多技术名词,但是深入细问又不理解的工程师
- 计算机相关专业想进入大厂的在校生(本科及以上学历,有c/c++基础)
学习模式:
- 128小时录播课,持续9个月,每周晚上腾讯课堂8点到10点直播公开课
- 课前预习资料课后思考实践作业
- 班主任督学作业统计博客统计
- 老师答疑工作问题课程问题
- 奖学金机制最高1000元公开透明