内核方向值得学习吗?市场需求和职业前景如何?
今天给大家分享的是一位粉丝的提问,内核方向值得学习吗?市场需求和职业前景如何?
接下来把粉丝的具体提问和我的回复分享给大家,希望也能给一些类似情况的小伙伴一些启发和帮助。
同学提问:
内核方向值得学习吗?
Yt回答:
内核方向值得学习吗?内核请注意它不是一个独立的产品,它是一个开源世界提供出来一个开源的版本,在市面上用内核开发的有两个方面,可能说有三个方面,更多的说可能是两个方面,在产品具体产品化的时候。第一个就是嵌入式相关的,比如芯片相关的,芯片原厂相关的,这是第一个,比如像这种MTK、包括像海斯,全志这种芯片原厂这种内核开发。第二个就是这种云厂家,云厂家针对于操作系统,对于存储也好,对于网络也好,做一些自己调内核相关的。这第三个就是现在的国产化操作系统,像这种麒麟,这种国产操作系统,基于内核的这三个方向。那其实大家说那内核我应该怎么看?各位朋友其实这里内核这个点,很多朋友对内核的兴趣是来源于哪呢?因为它很神秘,而且你发现它很多时候给很多人很难,因为操作系统确确实实很难,而且代码也很多,而且你像Linux内核小1000万行的代码,那你会发现不是说你研究某一块你能研究明白,而是说整体上面内核这个方向,如果你是作为一个应届生的朋友,它不宜当做你后面一个主要的求职意向。比如说你现在毕业之后找的第一份工作,比如说做的是这种芯片原厂,或者说做的是这种虚拟化,或者说做的国产操作系统,这个也可以,后面在这个方向你慢慢你就能够接触到内核相关的方向。而我认为内核这种方向它不太可能,比如说你以前你做前端的后面能够转内核,这个可能性不大。比如说你之前做这种桌面开发的,后面转内核这个东西可能性不大。而是很多的时候你从一开始第一份工作做的就是内核相关,后面做的也是内核相关,后面都是,是这样一种方向。
如果大家各位对内核感兴趣,很多朋友对内核希望买本书看,各位朋友那看不明白的,比如说你看那个深入理解Linux内核架构那本书啊,各位你看不明白的,不是你看不明白,那本书我从我在10年开始翻,前前后后上上下下翻了应该不下5次,说实在真的那个东西真看不懂,不是你的原因,我自己个人对技术研究的这种心态我还是比较强的,那真的这东西是真的看不懂。首先第一部分写这个的作者,他不是写给别人看的,他是写给开发者社区的人看的,请注意他最初写的时候他不是中文,他是英文或者德文,然后再把它翻译成中文,本身就很专业,本身就很羞涩,再加上一翻译,你会发现普通人是看不懂的,那本书你可以通过翻一翻去查阅一下。
如果大家对内核感兴趣,哪些人合适呢?首先你自己对内核已经有一定的想法,就是你自己功底还可以,就好比我们曾经高中的时候学生物一样,就是我们先提出假设,然后我们再去通过内核的源码去验证,就跟我们高中学生物一样,就是先我们有一个问题,我们先提出假设,然后我们再去论证这个问题。那其实内核也是这样的,你比如说你看到这种进程调度,比如CFS或者slab,你首先你自己比如我来实现这个slab,或者你看到epoll,我自己来实现这个epoll我会怎么实现?你有了一个自己初步的想法,然后你通过内核源码验证你的想法,这时候你研究内核,你会发现你就如虎添翼。但是如果你比如说你对内核也不懂,或者说你就感觉内核很高大上,然后我直接就开始从内核开始看,你会发现你会看的很头疼的,而且你没有一个评判对错的标准,你会发现这个好像也对的,反正内核讲的都对。内核这个方向呢,如果各位对技术感兴趣的,或者你在工作之余,你可以研究一下内核,你比如说你想研究内核,看书看不明白,我也有整理一份关于内核的整个知识图谱,从网络协议栈、进程调度、内存管理以及设备子系统、设备驱动,以及包括像USB、RDMA这种都有,一套非常完善的,大家后面可以问下我拿到整套资料,这个比你自己去看会要好很多。
总结:
- 有用但窄: 内核开发主要在芯片厂、云计算大厂、国产OS公司有用武之地,不是个遍地开花的岗位。
- 应届生慎入: 内核极其复杂难学(代码超千万行),不适合应届生作为第一份工作的主要目标。通常是在相关领域工作(如芯片、OS)后自然接触到的。
- 路径依赖强: 干这行的通常一入行就干这个,从其他领域(如前端)转过来非常困难。
- 看书自学难: 经典内核书籍非常晦涩难懂,不适合入门。
- 真想学?用对方法: 别硬啃书!基础好的前提下,对某个机制(如进程调度)先自己设计个方案(假设),然后对照内核源码看它怎么实现的(验证),这样学才有效。
计算机相关专业就业求职学习路线/offer选择/职业规划建议
工种浩:程序员yt (学习就业困惑?我们来为你答疑解惑!)免费投稿 投稿必回
#职业规划##计算机#解决计算机相关专业就业/面试/技术提升等问题解答(投稿必回)