「龙蜥开发者说」第 3 期来了!开发者与开源社区相辅相成,相互成就,这些个人在龙蜥社区的使用心得、实践总结和技术成长经历都是宝贵的,我们希望在这里让更多人看见技术的力量。本期故事,我们邀请了龙蜥社区开发者段廷银来聊一聊他技术生涯的「三次迭代」。
欢迎阅读上期故事《龙蜥开发者说:从入坑到入门 | 第 2 期》。开发者说系长期活动,对于积极投稿、多次分享的童鞋,我们还有神秘大礼鼓励!诚邀开发者们分享真实体验,以文会友、共同学习、一起进步。
本期故事主角:段廷银,系统工程师,负责操作系统和内核支持工作,龙蜥社区Cloud Kernel SIG 核心成员,2021 年度龙蜥社区开发者「突出贡献奖」获得者,参与社区期间,积极在铁路、金融和航空等多个行业中推广龙蜥社区,解决客户在使用时遇到的相关问题,同时也为社区反馈了不少问题,并积极协助解决。
我最近看了一部电视剧,叫《三生三世十里桃花》,看完后很有感触,电视剧里的主人公历经三生三世,始终不忘坚守自己初心。轮回生命,我是做不到的,但对待工作不忘初心是我一直以来的目标。巧合的是,我的技术生涯也有着“三生三世”的迭代,这些大大小小的知识与经历汇聚在一起,形成一种坚定的力量,促使我不断学习、进步、与人交流。一直到现在,我喜欢对工作中遇到的问题追根究底,也愿意将热爱挥洒其中。
就是这三次技术生涯的更迭成为我现在工作的“基石”,接下来讲述我技术生涯的“三生三世”——
一开始,我基于Hadoop、Spark、Kafka、Hive、Redis和Alluxio等大数据组件搭建大数据平台,沉迷于数据在各个组件流转,用这些数据优化客户业务模型,为客户挖掘海量数据的价值。在和客户交谈过程中,我学到了不一样的思考角度:客户的需求是什么,我该如何针对不同的需求给出不同的解决方案。我开始审视自己,并逐渐学会换位思考,让需求成为最终的目标,并去努力实现它。
后来,我逐渐接触到深度学习领域,探究了神经元之间的奥秘,运用数据增强技术、迭代优化损失函数、运用知识蒸馏技术提高模型性能、使用模型量化技术让模型高效运行在嵌入式设备上。这些在外行人眼里看都看不懂的专业名词,在我这里却是另一个有趣的世界。
我本来以为我会一直在这里钻研下去,直到机缘巧合接触到操作系统,从而走入我在技术领域的第三站。
当时我着眼于国产处理器的技术支持,深入研究操作系统、内核技术,也因此有幸“结识”了龙蜥社区。初次了解龙蜥社区是在 2021 年 5 月的阿里云开发者大会“龙蜥社区专场”上,这个专场由多家社区理事单位共同举办,并邀请了各领域专家进行技术分享。
当时的我首先被龙蜥操作系统的双内核所吸引—— RHCK 完全兼容 CentOS,ANCK 不仅拥有丰富的国产硬件支持(比如海光、飞腾和兆芯等),而且在调度优先级、内存 QoS 和异步 IO 限流等方面非常有亮点。
我印象最深刻的是张天佳分享的国密技术,龙蜥商密 SIG 首次将国密算法写入 Linux 内核(国密标准是由中国密码管理局制定,主要技术实现由国内开发人员完成的)。除了这些满满的技术干货,龙蜥社区理事长马涛演讲里的操作系统技术创新令人耳目一新(专场视频回顾可在龙蜥官网首页—社区—视频查看)。龙蜥社区就像龙舟一样,吸引了云计算厂商、操作系统厂商、芯片厂商分享开源技术在新场景新机遇里开创了操作系统新生态。
加入龙蜥社区后,我逐渐收到金融、交通等多个行业客户的支持需求。尤其在 2021 年 12 月 CentOS 停服后,龙蜥操作系统成为了非常优秀的迁移替代方案。首先,龙蜥操作系统完全兼容 CentOS,提供了简单易用的迁移工具,可以实现无缝迁移;其次,Anolis Bug Tracker 平台上有非常多高质量的问题跟踪记录,基本每天都在更新,感兴趣的小伙伴可以去看看(链接见文末)。
参与龙蜥社区建设后,我研究了龙蜥操作系统双内核技术、国密算法、性能优化工具,积极帮助新来的朋友解决他们遇到的问题,比如硬件兼容性问题、内核编译问题以及如何获取龙蜥的优质资源等等。同时,我也给不了解龙蜥的朋友、同事介绍龙蜥社区。
通过在 Anolis Bug Tracker 平台上学习、交流和协助处理问题,在帮助他人的同时,我也提升了自己的技术水平。
在这里,我曾经看到过在某虚拟化平台上安装操作系统不能使用鼠标的问题。这个问题之前我也遇到过,只不过当时我是通过键盘完成安装后就没有再去深入研究。这次又看到了这个问题后,感觉有必要深入研究一下。
我尝试了不同的引导方式,发现 UEFI 、 Legacy(BIOS)都有这个问题。后来又尝试了虚拟化的所有高级配置,也没有解决问题。最后,通过调研发现,可能是 VMMouse 的问题。对比了 ANCK 和 CentOS 的内核编译配置,发现确实没有配置 VMMouse。顺着这个思路,在修改了 ANCK 内核编译配置、编译内核、替换 ISO 镜像里的内核后,终于可以在该虚拟化平台使用鼠标了。
在研究技术的同时,我也结识到了很多志同道合的人。在某次研发某行功能定制时 ,我突然想起社区的一个小伙伴提到过类似问题,便与其进行了交流,原来预估 1 天的工作用了一个小时左右就做完了。
有一些我一开始以为是比较难接触的技术大佬,在了解之后发现是很有亲和力和耐心的人,还有社区中的一些伙伴,交流起来完全不需要耗费过多精力。当我提出的问题被别人给出思路的时候,我恍然大悟之余也非常感激他们。事实上,这是当时的我完全没想到的事情。于我而言,工作固然要跟人打交道,也曾获取过他人帮助,但我确实很少接受过陌生人的善意。社区的人就是这样温暖吧,他们毫不吝啬自己的力量来帮助我这样一个素不相识的人。
或许是同为开源人,便多了一份亲切与友善,正是因为这些人多多少少的帮助,我才一步一步走到今天。即使我们现在也还是“网友”的关系,但我知道,这会是我见了面也丝毫不会生疏的好朋友。
龙蜥社区像个温暖的大家庭,我能感受到参与建设社区的千千万万个开源人都在默默无闻地贡献着。我在龙蜥社区点点滴滴的积累得到了认可,获得了2021年度开发者「突出贡献奖」,现在也是我司操作系统技术负责人。
但我相信,这个奖项一定不是终点,它只是我阶段性的荣誉,是我前进路上的里程碑。期待未来在操作系统安全、性能等方面,为社区作出更多贡献。也期待社区聚起更多志同道合的朋友,一起为国家的基础设施开源贡献一份力量。如果说兴趣是我迈入这一领域的契机,那这些在无形之中时时刻刻温暖着我的力量,便是我一直前进的动力。
欢迎大家加入我们的 Cloud Kernel SIG :
SIG 地址:https://openanolis.cn/sig/Clo...
Anolis Bug Tracker 链接地址:https://bugs.openanolis.cn/
—— 完 ——
加入龙蜥社群
加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】与你同在;加入钉钉群:扫描下方钉钉群二维码。欢迎开发者/用户加入龙蜥社区(OpenAnolis)交流,共同推进龙蜥社区的发展,一起打造一个活跃的、健康的开源操作系统生态!
关于龙蜥社区
龙蜥社区(OpenAnolis)是由企事业单位、高等院校、科研单位、非营利性组织、个人等在自愿、平等、开源、协作的基础上组成的非盈利性开源社区。龙蜥社区成立于 2020 年 9 月,旨在构建一个开源、中立、开放的Linux 上游发行版社区及创新平台。
龙蜥社区成立的短期目标是开发龙蜥操作系统(Anolis OS)作为 CentOS 停服后的应对方案,构建一个兼容国际 Linux 主流厂商的社区发行版。中长期目标是探索打造一个面向未来的操作系统,建立统一的开源操作系统生态,孵化创新开源项目,繁荣开源生态。
目前,龙蜥OS 8.4已发布,支持 X86_64 、Arm64、LoongArch 架构,完善适配飞腾、海光、兆芯、鲲鹏、龙芯等芯片,并提供全栈国密支持。
欢迎下载:
https://openanolis.cn/download
加入我们,一起打造面向未来的开源操作系统!