免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345下一页
最近访问板块 发新帖
查看: 129308 | 回复: 43

[其他] 内核开发的前途在什么地方,发展方向有哪些? [复制链接]

论坛徽章:
2
2016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之广夏
日期:2016-12-07 08:32:11
发表于 2015-11-25 22:34 |显示全部楼层
本帖最后由 剑魂箫心 于 2016-11-16 09:00 编辑

2016年11月16日更新:
这篇帖子是我大四上学期找工作时发布的,距今已有一年,现在我从事的工作虽然和内核没什么关系,但是我依然在业余时间继续学习内核,跨过了0.12内核,学过了2.4内核的内存管理,现在借着2.6内核的书在研究4.4.30内核的MM子系统。时至今日,我依然是一个菜鸟,我想一定有很多内核学习者在学习的道路上踽踽独行、苦苦摸索,内核开发的速度越来越快,内核文档少之又少,几乎所有的资料都被时代远远地抛在后面,入门内核开发的难度越来越大,如果能在这条道路上得到各位高手、前辈的指点,不管是关于职业生涯还是关于技术路线,我们都将感激不尽!

-----------------------------------------------
以下是原贴:
-----------------------------------------------

我现在是一名大四学生,专业学的是软件工程,已经基本看完了《Linux 0.12内核完全剖析》这本书,但是这本书与现在内核差异比较大,现在也编译过2.4内核(毛德操先生的书中所用内核),但是毛德操先生的书也是比较厚,所以在开始研究之前先来请教下各位先辈。

在今年校招时我也是一心想做内核,但是无奈各大企业这方面招的人太少,移动、前端、Java岗位那么多,内核岗位根本找不到,即使有,那也是研究生岗位。曾经兴致冲冲去投了360的Linux内核工程师,结果做的笔试题全是Windows内核,至今不明白咋回事。

目前拒掉了一份深圳8000的offer,因为工作内容是机顶盒C/C++语言开发,想了想还是喜欢内核相关,又获得了一份与操作系统有关的offer,公司名就不说了,工资加上补贴有点低,也就5000吧,毕竟是二线城市,已经签了。我很想去红帽,可惜他不收应届生。现在在我看来,研究内核似乎并没有很大的出路,无非是为系统编程增加了点基础而已。我确实喜欢内核,但是在工资薪水面前还是有点不甘心,毕竟同学做前端的做移动的都那么高,所以我在想是不是应该向Linux系统编程发展一下,学学C++,学学服务器编程,毕竟生存乃是大事......

希望各位大侠能够根据自己的职业经历给点指导,小弟感激不尽。

论坛徽章:
22
丑牛
日期:2014-08-15 14:32:0015-16赛季CBA联赛之同曦
日期:2017-12-14 15:28:14黑曼巴
日期:2017-08-10 08:14:342017金鸡报晓
日期:2017-02-08 10:39:42黑曼巴
日期:2016-11-15 15:48:38CU十四周年纪念徽章
日期:2016-11-09 13:19:1015-16赛季CBA联赛之同曦
日期:2016-04-08 18:00:03平安夜徽章
日期:2015-12-26 00:06:30程序设计版块每日发帖之星
日期:2015-12-03 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-09 06:20:002015亚冠之吉达阿赫利
日期:2015-07-03 08:39:42
发表于 2015-11-26 09:10 |显示全部楼层
很多人都是这么迷茫,徘徊过来的。说说我自己的一些理解。

最近常想计算机是什么东西,计算机其实就是一个解决问题的工具。计算机包括硬件,软件。对于许多固定的问题寻求一种解决方法,可以调整的点很多,可能会设计专用芯片,可能会在软件上进行设计。而操作系统就是一个为了方便解决问题提供的一种通用平台。归根结底,kernel 只是为了服务其他软件的一种基础软件。所以可想,为什么做应用的公司这么多,而做 kernel 的公司很少。
kernel 的门槛很高。做 kernel 的工程师不像一个程序员,反而像一个学习系统架构的人。大部分人只是改改defconfig,dts文件,或者在某一个模块加几行代码。更多的时间是去弄懂一个子系统的工作原理。
kernel很多特性都是出于用户的需求而增加的,即在一个应用中,有些东西在userspace不能做了,那么在kernel中增加相关的支持。所以我认为,一个Linux Kernel工程师首先就要会进行系统编程。例如,如果如果研究调度,至少需要明白 user space 进程需要哪些管理机制吧。我看了不少 kernel 的大牛都有一些其他运行在 user space 的软件作品。
当然要写出优秀的软件,还是必须理解 kernel 的工作原理的。我有点倾向于把 kernel 当作和 算法 一样的课程,当作对自己提升功力的必修课,而不是专注在kernel上。到了对计算机理解到一定层次,想做什么就做什么。多注意平时的编程锻炼,多写代码。编程这事光看代码是不够的,之前也有说了,搞kernel是很少会有自己操刀的时候的,门槛太高,而且让一个新手来重构大牛的代码想想也是不可能。所以我认为在学习kernel 的同时,可以做一些user space的开源项目,不要把编程能力落下。还有一种可能就是,你进入了搞kernel 社区中feature的公司,有mentor手把手带你怎么搞kernel,例如先分派一些简单的改函数名字,移除废弃接口。如果有这些的机会那是最好的了。
对于做kernel的公司,二线城市肯定是不行的。只有大城市才有好的机会,一部分是芯片公司,专注点有体系架构,性能功耗;有些是网络公司,做虚拟化,安全,文件系统之类的。至于芯片的下游公司做的大都是驱动集成。
因为kernel是非常好的一个开源项目,里面问题很少。一般的公司都没有能力去改里面核心的东西。国内好像intel/ibm做的挺好的

论坛徽章:
221
15-16赛季CBA联赛之吉林
日期:2017-12-11 12:51:59黑曼巴
日期:2019-04-12 13:40:0515-16赛季CBA联赛之广东
日期:2019-04-23 10:41:1215-16赛季CBA联赛之辽宁
日期:2019-05-06 13:03:2815-16赛季CBA联赛之山西
日期:2019-05-09 10:56:5815-16赛季CBA联赛之青岛
日期:2019-05-17 13:57:0515-16赛季CBA联赛之新疆
日期:2019-06-10 13:39:0515-16赛季CBA联赛之天津
日期:2019-07-08 15:04:4519周年集字徽章-19
日期:2019-08-27 13:31:2619周年集字徽章-19
日期:2019-08-27 13:31:2619周年集字徽章-周
日期:2019-09-06 18:46:4715-16赛季CBA联赛之天津
日期:2019-02-27 11:24:07
发表于 2015-11-26 09:43 |显示全部楼层
楼主大黄小号  

求职 : 通讯/电信开
论坛徽章:
2
2015亚冠之鹿岛鹿角
日期:2015-07-08 11:58:2615-16赛季CBA联赛之佛山
日期:2015-12-21 17:28:04
发表于 2015-11-26 09:46 |显示全部楼层
同样很疑惑啊。我从大四保研开始就跟着实验室做无线网卡的ath9k驱动的研究,还完成了一个小小的项目。两年里面我研究了具体是怎么MAC层是怎么封装成帧,驱动层是怎么设置传输参数,数据帧,beacon帧,探测帧,认证帧的发送与接收流程及其功能等等。
在科研中遇到过很多问题,如浩如烟海的代码,往往一个函数被几十个函数调用,一个函数也是往往调用几十个函数,怎么debug,无法连接等等问题,最后也终于解决了。我师姐的博士论文中有一个章节的实验部分都是用我的数据完成的,也是蛮有成就感的。
到了今年九月份师兄找工作的时候,发现几乎没公司招收linux内核开发,更不必说无线网卡驱动这一块了,对应届生的要求基本就是算法,感觉自己学的在工作中好没用啊,不禁茫然了。
好茫然啊,求大神指导。。。

论坛徽章:
154
2022北京冬奥会纪念版徽章
日期:2015-08-07 17:10:5720周年集字徽章-年
日期:2022-10-26 16:44:2015-16赛季CBA联赛之深圳
日期:2022-11-02 14:02:4515-16赛季CBA联赛之八一
日期:2022-11-28 12:07:4820周年集字徽章-20	
日期:2023-07-19 08:49:4515-16赛季CBA联赛之八一
日期:2023-11-04 19:23:5115-16赛季CBA联赛之广夏
日期:2023-12-13 18:09:34
发表于 2015-11-26 10:45 来自手机 |显示全部楼层
神信息都是哪里挖掘的啊

论坛徽章:
2
2016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之广夏
日期:2016-12-07 08:32:11
发表于 2015-11-26 11:20 |显示全部楼层
本帖最后由 剑魂箫心 于 2015-11-26 11:21 编辑

回复 2# amarant


    是极,我当初想学这个是因为看Linux C语言开发的书中有很多函数不知道内部原理,用起来有点晕,所以想看看内核了解一下,结果这一看就是一年,其实才懂了点皮毛。看来内核不能急功近利,要通过进行Linux系统编程逐渐深入。其实我现在的公司也是围绕内核做上层应用开发,能真正在内核上动手的公司恐怕只有红帽、Intel这类的了。我要时刻准备好向北京进军。。。
    多谢版主老大回复

论坛徽章:
2
2016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之广夏
日期:2016-12-07 08:32:11
发表于 2015-11-26 11:21 |显示全部楼层
回复 3# yoyosys


    哪有。。。我就这一个号

论坛徽章:
2
2016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之广夏
日期:2016-12-07 08:32:11
发表于 2015-11-26 11:24 |显示全部楼层
回复 4# 九阳神功爱喝茶


    你这个研究的也的确是太深入了,感觉你这个应该算是硬件通信范畴了,软件公司和互联网公司需求量不大,也许手机公司会需要一些,比如小米这类。

论坛徽章:
2
2016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之广夏
日期:2016-12-07 08:32:11
发表于 2015-11-26 11:25 |显示全部楼层
本帖最后由 剑魂箫心 于 2015-11-26 11:25 编辑

回复 5# shang2010


    什么意思啊 ?

求职 : 通讯/电信开
论坛徽章:
2
2015亚冠之鹿岛鹿角
日期:2015-07-08 11:58:2615-16赛季CBA联赛之佛山
日期:2015-12-21 17:28:04
发表于 2015-11-26 14:19 |显示全部楼层
研究生都这样,学的东西不一定在工作中有用,没让去弄仿真已经是够好的了回复 8# 剑魂箫心


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP