• 关于如何快速学好,学懂Linux内核。内含学习路线


    学习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内核源码课程体系,通过20项目案例,2W+行手写代码,全面解析6个内核技术方向。 

    学习路线

    • 进程管理专题
    • 内存管理专题
    • 网络协议栈专题
    • 设备驱动专题
    • 文件系统及内核组件专题
    • 零声服务与内核参考资料
    • 等等。。

      进程管理专题

    内存管理专题

    网络协议栈专题

    设备驱动专题

    文件系统及内核组件专题

    零声服务与内核参考资料

    适合于

    • Linux 内核优化、内存管理 ,内核开发岗位、定制化自己OS
    • 深入系统内核研究、网络安全逆向分析
    • 提升自己能力,为了更好做应用层开发提供核心依据
    • 跳槽面试大厂(腾讯、华为、中兴、中微、中芯等等)
    • 从事业务开发多年,对底层原理理解不够深入的在职工程师
    • 从事嵌入式方向开发,想转入内核开发的在职工程师
    • 从事Qt/MFC等桌面开发的,薪资多年涨幅不大的在职工程师
    • 从事非开发岗位(算法岗,运维岗,测试岗),想转内核开发岗位的在职工程师

     学习直通车:Linux内核源码/内存调优/文件系统/进程管理/设备驱动/网络协议栈

    适合【深入系统内核研究】阅读文章 

    需要多久才能看完linux内核源码?

    概述Linux内核驱动之GPIO子系统API接口

    代码大佬的【Linux内核开发笔记】分享,前人栽树后人乘凉!

    一文了解Linux内核的Oops

    一篇长文叙述Linux内核虚拟地址空间的基本概括

    深入linux内核架构--slab分配器(建议收藏)

  • 相关阅读:
    TCP协议
    javaee之通用mapper
    flask中的跨域处理-方法二不使用第三方库
    C/C++教程 从入门到精通《第二十四章》——Qt制作天气预报
    Linux系统调优详解(五)——磁盘IO状态查看命令
    线程相关的模型
    “2024成都国际电子信息产业展览会”新西部、新重构、新机遇
    在亚马逊正确合理的跟卖
    VSCode运行python提示No module name ‘xxx‘
    上手Python之set(集合)
  • 原文地址:https://blog.csdn.net/m0_74282605/article/details/127999926