V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
sbldehanhan
V2EX  ›  Linux

Linux 内核的学习路径是什么样的?

  •  1
     
  •   sbldehanhan · 10 天前 · 2208 次点击

    看什么书? 做什么项目? 需不需要学习一下底层硬件的知识? 我有 C 语言基础,了解计算机组成原理。

    41 条回复    2024-11-19 01:13:19 +08:00
    isno
        1
    isno  
       10 天前   ❤️ 1
    我自己写了点浅薄的 Linux 内核知识,你可以看看(主题局限在网络子系统)。

    https://www.thebyte.com.cn/network/summary.html

    完整的 linux 内核知识,你可以搜搜 张彦飞 的书。
    dalaoshu25
        2
    dalaoshu25  
       10 天前   ❤️ 1
    先说说你为什么要学,学了要干啥。
    zhouyin
        3
    zhouyin  
       10 天前 via Android
    离💰太远
    booboo
        4
    booboo  
       10 天前
    找本书把一些基本概念先搞清楚了,然后再确定个方向深入。
    我个人的的心得是好多地方要有相当多的体系结构的知识才能看得懂。
    sbldehanhan
        5
    sbldehanhan  
    OP
       10 天前
    @dalaoshu25 #2 为了上了年纪有饭吃。这个工作不是越老越吃香?并且工资还可以。
    sbldehanhan
        6
    sbldehanhan  
    OP
       10 天前
    @zhouyin #3 远吗?我看 Linux 内核工程师工资挺高的呀?
    sbldehanhan
        7
    sbldehanhan  
    OP
       10 天前
    @booboo #4 之前看过基本 Linux 内核的书,内核源码也有读,也编译过。有哪些方向呢?体系结构指什么?
    zhouyin
        8
    zhouyin  
       10 天前 via Android
    @sbldehanhan
    那种岗位少 对学历要求高
    没听见人家搞嵌入式的说 天天内核简直不是人过的日子
    比写业务难多了
    sbldehanhan
        9
    sbldehanhan  
    OP
       10 天前
    @zhouyin #8 写业务是简单,可是年龄大了容易被淘汰。不然,也不会想着做底层。
    xiaozhaoz
        10
    xiaozhaoz  
       9 天前
    2000 年开始做内核开发,内核也提交了一些代码。

    内核开发岗位少,要求高。先学一两年驱动,先找个工作,再慢慢在项目中深入,后面找个子系统深入进去,每天跟踪 mailist 相关邮件,先从解决小问题开始。 内核开发看似资料很少,其实很多资料,只不过专业,更新快,零散在 mailist 里面。
    bibiisme
        11
    bibiisme  
       9 天前
    年龄和学历?这两个不达标建议放弃
    sbldehanhan
        12
    sbldehanhan  
    OP
       9 天前
    @xiaozhaoz #10 大佬。Linux 内核能做哪些方向呢?现在有什么公司都需要做这样的岗位?我看各大互联网公司都有做内核的,但不知道它们都在做什么?现在车企的车机系统是不也需要这块的人?还有手机厂商?
    sbldehanhan
        13
    sbldehanhan  
    OP
       9 天前
    @bibiisme #11 年龄是够老吗?学历啥要求?
    bibiisme
        14
    bibiisme  
       9 天前
    @sbldehanhan 内核岗也就互联网和芯片、手机厂是刚需。如果是学生,即使有相应技术储备,进来后也得培养相当长的时间才能成为主力,为了降低培养成本,这些公司默认高学历(至少强工科 211 )的毕业生才有培养价值。如果已经工作了,现在
    bibiisme
        15
    bibiisme  
       9 天前
    才开始自己学习内核,技术水平达到内核的社招要求可能性基本没有。
    xiaozhaoz
        16
    xiaozhaoz  
       9 天前
    @sbldehanhan 国内的大厂主要是跟踪,读懂内核,根据内核特性优化系统和业务,解决涉及到操作系统和内核的问题,实际大部分都不是内核问题,都是业务问题。比如经常要排查网络吞吐波动很大,业务网络通信有丢包,业务拿锁速度慢,系统调度延迟大等各种和内核有关的问题。

    手机,车企厂商,内核开发人员大部分都是驱动相关,包括内核移植到新硬件(不是新 arch )。

    当然这些公司里面也有一些内核开发的志愿者,会参加社区的核心子系统开发,这部分人比较少。

    国内内核核心子系统开发,主要集中在 huawei ,intel ,阿里,企鹅和百度、手机大厂也有一些,但不多。
    sbldehanhan
        17
    sbldehanhan  
    OP
       9 天前
    @xiaozhaoz #16 我就要这种业务类型的内核开发就可以了。这种是不也不会有年龄焦虑?而且工资还可以?
    sbldehanhan
        18
    sbldehanhan  
    OP
       9 天前
    @bibiisme #14 楼下大哥说的那种业务类型的内核开发、移植、驱动,这些也是这个要求吗?
    xiaozhaoz
        19
    xiaozhaoz  
       9 天前
    @sbldehanhan 业务类型的内核开发,岗位主责是业务开发,只是技术可以覆盖深入到系统和内核领域,大厂会专门配一些系统专家岗位,主责是系统维护和内核优化。

    手机,汽车,iot 等岗位主责是系统和内核移植,外设驱动开发,技术好的覆盖到内核核心子系统。

    内核核心子系统开发,岗位少但位子稳,薪资高。
    驱动开发岗位多,门槛比业务高,过去二十年来看,工作经验越长越吃香,且技术迭代较慢。
    bibiisme
        20
    bibiisme  
       9 天前
    @sbldehanhan 现在的招聘要求是卡到这个学历要求的。
    Betsy
        21
    Betsy  
       9 天前 via iPhone
    如果你是学生,可以考虑一下 all in 这个方向;
    如果你工作 5 年以内,且不在这个细分领域,可以努力一把,然后转过去;
    如果你工作 5 年以上,且不在这个细分领域,还是放弃这个想法吧。

    各大公司对于工作超过 5 年的招人逻辑是,有若干年相关工作经验。所以这个年纪,即使学会了,最后也可能没坑位
    zzdgfv
        22
    zzdgfv  
       9 天前
    找机会转管理啊,国内搞内核什么的不太吃香
    wangyuescr
        23
    wangyuescr  
       9 天前
    你参考下统信 UOS ,麒麟的 Linux 内核开发招聘
    sbldehanhan
        24
    sbldehanhan  
    OP
       9 天前
    @zzdgfv #22 我自己的想法是保证有饭吃,最低温饱,目标小康。管理有想过,这不是想趁年龄还不是太大 1.选个赛道; 2.打磨一下技术。管理也需要懂点技术吧,我理解。
    sbldehanhan
        25
    sbldehanhan  
    OP
       9 天前
    @wangyuescr #23 接触过,这两家不是很想去。
    tineline
        26
    tineline  
       8 天前
    借楼问下,如果是已经入行三五年,但是觉得方向不对,后面去读研后是否会有机会从事驱动开发呢,企业是否会对这种应届生有年龄歧视呢
    introom
        27
    introom  
       8 天前
    我也做过 kernel 。你不用感谢我,你应当选一个接近业务的赛道,做 kernel 除非你真的喜欢。

    你可能现在的状态是对 kernel 开发不了解,有一种对技术的好奇和热爱,然后陷入了自己选择 kernel 这条路走下去,来这边发帖也是得到更多鼓舞。 但事情不是这样,工作的价值是由市场的供需决定的。

    但你也不用太担心,等时间久了你自己会明白你到底要做什么。
    dalaoshu25
        28
    dalaoshu25  
       7 天前
    看完这么多帖子,觉得 OP 还是去送外卖吧,先自食其力养活自己再说,别好高骛远了。
    sbldehanhan
        29
    sbldehanhan  
    OP
       7 天前
    @dalaoshu25 #28 大哥,我现在可以自食其力。我只是为以后做打算。
    bibiisme
        30
    bibiisme  
       7 天前
    @dalaoshu25 刚看到 op 一年半前就在问 linux 内核怎么学,现在还停留在问学习路径的阶段。这个学习速度没有啥公司会要的。
    sbldehanhan
        31
    sbldehanhan  
    OP
       7 天前
    @bibiisme #30 我是真没想到在 V 站还能遇到你这种人。
    bibiisme
        32
    bibiisme  
       7 天前
    @sbldehanhan 实话而已,我自己从事相关工作,你这个学习速度远远不够行业要求。
    sbldehanhan
        33
    sbldehanhan  
    OP
       7 天前
    @bibiisme #32 那你有没有想过,我只是想了解一下这个赛道。我一直都有自己的工作。亏你这么上心,去翻了我一年半之前的帖子,我自己都忘了。
    bibiisme
        34
    bibiisme  
       7 天前
    @sbldehanhan 我又没说你没有工作,看见上面说去送外卖后,点了两下鼠标就看见你一年半的帖子了。
    dlolimiuku
        35
    dlolimiuku  
       7 天前
    一直想学,但是不知道学来能干什么
    sbldehanhan
        36
    sbldehanhan  
    OP
       7 天前
    @bibiisme #34 告诉你我有工作是想说我不是这个方向的,根本就没有学习相关内容,发帖是想多了解一下这个方向。你都没搞清楚重点,上来就喷。
    bibiisme
        37
    bibiisme  
       7 天前
    @sbldehanhan 你问学习途径,我就说了下你现在的这个条件没有从事相关工作的可能性。如果你觉得这也叫喷,那支持你继续学习吧。
    sbldehanhan
        38
    sbldehanhan  
    OP
       7 天前
    @bibiisme #37 你不但不看我发的内容,你连自己发过的内容都不看。你说的是我的学习速度,现在又变成了我目前的这个条件了?真是颠三倒四。
    bibiisme
        39
    bibiisme  
       7 天前
    @sbldehanhan 学习速度不就是个人条件的一部分?
    sbldehanhan
        40
    sbldehanhan  
    OP
       7 天前
    @bibiisme #39 问题是我都没学呀。何来学习速度之说呢?看到这两篇帖子就觉得我一直在学习?我说了,发帖的目的是想了解这个赛道。
    levelworm
        41
    levelworm  
       2 天前
    我也觉得 OP 还不如就先学起来再说。实在没目标先把 MIT 操作系统的课程过一遍就是了。

    PS 我自己也不是这个赛道的,我号称自己想学但是动了一点手就放弃了。。。祝 OP 顺利。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5397 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 09:01 · PVG 17:01 · LAX 01:01 · JFK 04:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.