《CU访谈录——IT技术人的故事》(第九期 上锋科技研发总监"瀚海书香")

2021-12-07 00:00:00 内核 无风 之谷 瀚海 书香

本期采访嘉宾:瀚海书香(内核源码版主)

无风之谷 10:10:31
hi 书香斑竹 很高兴能采访到您,之前做的那两期关于linux网络问题的线上讨论效果非常好啊,能否向CU社区的网友简单的介绍下自己?呵呵

瀚海书香 10:12:21
我是08年本科毕业,从07年开始参加工作的,在linux这个行业中算是菜鸟级别的,目前主要从事linux下网络内核模块的研发和网络系统架构方面的工作

无风之谷 10:14:24
呵呵 又谦虚了哈,说到linux 书香是什么时候开始接触linux的?基于什么因素让您接触linux从而喜欢上这个职业的?

瀚海书香 10:17:40
我是从上大二(2005年)的时候,次接触的linux,当时感觉非常兴奋。世界上居然有完全开放源代码的操作系统。从那个时候开始,就慢慢的喜欢上了计算机和Linux,由于当时学的是数学专业,没有专门的计算机课程。所以从大三开始,就跟着学校的计算机专业学习计算机专业课程,同时自学linux。

无风之谷 10:21:27
份工作是不是也是直接选择了linux这个行业

瀚海书香 10:24:19
其实开始实习的是一家加拿大外包的公司,后来感觉明显不是自己的兴趣所在,1个月后就去了另一家公司实习。这家公司是做网络安全产品的,主要基于linux操作系统进行开发,正好是自己的兴趣所在。

无风之谷 10:26:04
兴趣 确实是让人学习进步的永动力。从数学到linux中间跨越比较大啊,当时是怎么合理安排这个时间的?

瀚海书香 10:31:57
数学的专业课是很难的,为了不耽误专业课的学习,凡是上数学专业课的时候,我都会认真去听,不会去计算机专业蹭课。但是如果是非专业课,我一般就会到计算机专业蹭课。另外晚上的时间也是非常重要的,我一般会在晚上拿出固定的时间写一些小的应用娱乐一下。记得当时上大四的时候,感觉计算机学了点知识了,就想动手写个像样的应用。于是就跟隔壁寝室的一个哥们一块写了一个俄罗斯方块,说到这里,我想特别说明一下,学习的时候,有一个共同兴趣爱好的人是非常重要的,这样两个人可以互勉互励,其实现在回过来想想,学习数学对计算机是有很大的帮助的。数学的逻辑思维有利于代码逻辑的设计

无风之谷 10:35:10
对,所以你这个选择非常正确啊。说到linux内核,不得不说的几个问题啊,也是网友非常关心的,编译进内核的driver和insmod的driver有什么区别

瀚海书香 10:41:19
其实这两者的区别不是很大。如果driver编译进内核,那边内核启动的时候就会调用driver,从而识别driver对应的硬件;如果是insmod的driver,那么只有在driver被insmod后,才会去识别driver。其实大部分的driver,既可以编译进内核,也可以以模块的方式存在。但是也有例外:比如文件系统存放在scsi磁盘上,那么如果想要不使用ramdisk的情况下,启动内核就需要将scsi驱动编译到内核中。因为如果不编译进内核,在内核启动的时候,scsi模块不会加载,导致无法识别scsi硬盘,也就无法启动了。可以认为,无关驱动与系统启动无关,可以编译成模块;但是如果系统启动的过程中需要相应的驱动,那么这个驱动就需要编译进内核了。

无风之谷 10:42:02
移植内核时关键做些什么

瀚海书香 10:43:15
进行内核移植的时候,关键就是相应驱动的移植了。比如网卡驱动、磁盘驱动、USB驱动等等,其实,这些移植工作现在已经非常方便了,因为大部分的驱动都提供了不同硬件平台的版本。当然,也有些是需要自己稍微改动的

无风之谷 10:46:14
裁减时主要注意什么?

瀚海书香 10:48:53
裁剪的时候,重要的就是该用的驱动一定要保留,而用不到的尽量去掉。其实这个工作是非常繁琐的工作,因为编译一次内核需要大约30分钟的时间。有些时候为了修改一个地方,可能需要翻来覆去的编译很多次内核。当然,这个过程也是自我提高必不可少的一步

无风之谷 10:51:13
要做好这项工作,作为一个刚毕业的学生,应该做好那些准备?如何规划自己的职业发展。

瀚海书香 10:59:39
基础是计算机行业非常重要的东西。另外关键的是要有一颗学习的心态。刚开始工作的2年时间,应该是累,拿钱少,但确是学东西多的时候,还有刚开始的时候,一定要从基础开始。不要嫌工作繁琐,更不能嫌工作累。因为你感觉到不适应的时候,恰恰是你要提高的时候。职业发展这一块,关键是要选择好路线后不要来回动摇,一定要有定力。不能说今天学习C语言,明天学习php,后天学习java。

无风之谷 10:59:59
从职业发展的角度上你是如何看待这个行业的?

瀚海书香 11:03:22
目前有很多开源的操作系统,但是Linux可以说是成功的一个。包括近流行的Andorid也是从Linux发展而来的。Linux系统目前应用的越来越广,包括:个人PC、手机、大型服务器、网络设备、医疗器械、汽车自动化等等各个方面。可以说Linux人才在未来还是非常有用武之地的。

无风之谷 11:04:12
作为研发部的主管,你在招聘新人的时候,你看重或者说新人能打动你的是什么?

瀚海书香 11:10:39
在面试的时候,我不会过多的了解你会什么。但我需要知道基础的你了解多少。比如:操作系统、数据结构、C语言、计算机组成原理等基础知识。还有一个就是,你的学习能力和创新能力。我非常喜欢新人对常见的问题提出不同的算法。就拿排序算法来说,如果你不知道快速排序、堆排序等书本上的,那么我不会给你offer的。如果你只知道这些,我可能会给你offer。如果你不但知道这些,还有自己的想法,那我非常愿意给你offer。
这次访谈到此结束。
非常感谢 瀚海书香 版主跟我们做的这期分享,如果大家有问题可以跟帖提问。

相关文章