往期精彩推荐
InfoQ专访龙蜥社区陈绪:从CentOS 停服说起,龙蜥操作系统的开源观
编者按:操作系统产业经历了从“赠品”到“精品”的发展过程,随着 IT 行业的发展和时代需求的增加走向成熟。近日,阿里云技术战略总监、龙蜥社区运营委员会主席陈绪博士接受 InfoQ 专访谈开源,就开源操作系统 Linux 的发展、龙蜥操作系统的开源开放及国内操作系统的共建等方面做了阐述。本文转自 InfoQ,欢迎大家阅读。
以下为专访全文:
“计算机体系结构”术语的确定标志着计算机学科的建立,计算机软硬件也就此有了界限。编译语言的诞生则让 CPU 硬件和操作系统的性能得以同时发挥出来。
经过近七十年的发展,作为基础软件三驾马车之一的操作系统形成如今的生态,和芯片一同被视为云时代重要的底层技术储备。故而,CentOS 停服引发热议。不过,阿里云技术战略总监、龙蜥社区运营委员会主席陈绪告诉 InfoQ,由于龙蜥操作系统及时顶上,CentOS 停服其实没有带来太大影响。
CentOS 是比较流行的 Linux 发行版之一。从技术的角度来看,底层操作系统需要有新的编译器支持相关的应用,新的硬件设备需要使用升级后的操作系统驱动,软件的 bug 需要得到及时的解决,所有的国密算法必须有操作系统支持……这些正是龙蜥操作系统的优势所在。
一、开源和云推动了 Linux 兴盛
我们可以从开源操作系统 Linux 的发展找到国内开源操作系统发展路线的一些共性。
2000 年前后,很多公司开始基于 Linux 开源版本做自己的操作系统。Linux 开源生态不断发展壮大,在 IDC 最受欢迎的服务器操作系统排行版中位居第二。22 年后的云时代,几乎所有云相关的硬件平台都与 Linux 相关。
操作系统产业也经历了从“赠品”到“精品”的发展过程,随着 IT 行业的发展和时代需求的增加走向成熟。在操作系统技术和产业相对成熟的阶段,软硬件适配成为行业关注的主要问题。
对于硬件而言,面向的领域不同,瞄准的研发方向也不一样。软件生态千奇百怪,在手机端、服务器端以及边缘端的形态不尽相同,软件对底层技术的共性需求,逐渐演变成操作系统的基本能力。
然而,不少受访专家曾在《解读操作系统的 2021:触到了创新的天花板,却站在巨变的前夜》中对 InfoQ 表示,从科技创新的视角来看,操作系统已经触到了创新的天花板,并且多年未发生本质上的变化。
更多的创新发生在 Linux 生态。如果说,单机时代,是硬件厂商垄断了操作系统;那么云时代,分布式架构几乎让 Linux 在服务器端实现了“一统天下”。
云、开源是奠定 Linux 操作系统行业地位不可忽视的力量。同时,操作系统在不同领域形成不同的软硬件生态。如果将视角拉到整个操作系统行业的发展上,软硬件一直在互相追赶。
开源操作系统的发展也遵循着这样的发展路线。来自用户的需求反馈佐证了这一点:操作系统处于底层硬件和上层软件之间,不同厂商操作系统之间的兼容性和迁移成本也是用户关注的核心问题。稳定性、安全性之外,开源操作系统的生态成为用户关注的重点。
二、完全开源、软硬协同,龙蜥操作系统的开源开放
一个良好的操作系统社区需要源源不断的优质代码贡献来保证生命力。Linux 社区的繁荣,离不开英特尔、阿里等商业公司的推动,大量的代码提交到 Linux 社区 ,多次达到世界第一的代码提交量。“先有量,后有质”可以概括 Linux 社区代码的发展,也推动了诸多 Linux 发行版的产生。
Linux 在国内的流行为国内操作系统培育了开源的土壤。作为目前国内两大热议操作系统之一的龙蜥操作系统,亦是基于 Linux 的发行版。
龙蜥操作系统,一方面遵循着“上游优先(Upstream First)”的开源理念,沿着 Linux 的发展路线往前走,把所有代码贡献给上游;另一方面,从云的发展角度出发,发现新特点或者新需求,先由龙蜥社区的开发者团队形成代码,然后开源给整个社区使用。
国内云计算的领头羊阿里云是龙蜥社区的主要创始成员之一。龙蜥操作系统在阿里云内部的应用程度是 100%,经过云上广泛应用场景的打磨。阿里云还将一套能够广泛使用的技术实践贡献给龙蜥社区。
在陈绪看来,云计算有两个基本的特点,一是虚拟化,把一台机器当作多台机器使用;二是集群,把多台机器当作一台机器使用。因此,对于系统稳定性的高要求,也是操作系统需要特别关注的一点。
就 IO 而言,虚拟化之后的 IO 吞吐量就不能满足“双 11”这类需求,让操作系统的技术的革新显得尤为重要。传统的做法是把虚拟机的管理交给 CPU,阿里云则是将 IO 卸载到了专用的神龙 DPU 芯片上,并与操作系统及虚拟化软件紧密结合,目前已经超越通用芯片的性能天花板。
“软硬协同听起来可能是个历史名词,但是阿里云把软硬协同的性能发挥到了极致。尤其在云计算领域,软硬结合能够极大地降低开销和功耗,并把性能发挥到最大。”陈绪提到,“这个过程中离不开操作系统的支持。所以龙蜥是有一定底蕴的。”
龙蜥操作系统搭载了 RHCK 和 ANCK 两种不同版本的内核,性能和稳定性经过历年“双 11”历练,能为云上典型用户场景带来 40% 的综合性能提升,故障率降低 50%,兼容 CentOS 生态,提供平滑的 CentOS 迁移方案,并提供全栈国密能力。
去年,龙蜥社区将龙蜥操作系统捐赠给开放原子开源基金会,当前已全票通过项目孵化评审中的技术达标评审,即将进行法务合规性审核。
陈绪告诉 InfoQ,“对于龙蜥社区的未来,我们有充分的信心。”并且,阿里会以中立的姿态持续维护龙蜥操作系统,但话语权应该是来自来自理事单位成员。目前,龙蜥社区已经有 17 家核心理事单位,上百家生态合作伙伴,包括统信软件、Intel、Arm、普华基础软件等等。
三、以开源为底,举行业之力,共建国内操作系统生态繁荣
从 2000 年至今,国内企业对于操作系统的关注度持续攀升,逐渐在操作系统领域发出自己的声音。开源开放的操作系统生态,成为国内操作系统行业企业的重点关注方向。
陈绪告诉 InfoQ,国内操作系统生态的建设需要举行业之力,从人才、技术、开源等多个维度进行突破。
人才缺口是国内操作系统生态建设需要关注的第一个问题。有研究机构预测,到 2024 年,国内操作系统产业有 7 倍的增长空间,达到百亿级市场规模。但既懂软件又懂硬件的操作系统人才在行业内相当稀缺。
以 GitHub 上有效注册过的开源程序员为统计口径,中国目前的开源程序员比例已经超过 9.75%,在全球仅次于美国的 22%。更真实的情况是,不少中国开源程序员并未在 GitHub 注册。
除此之外,国内企业也要正确看待 IT 行业人才的年龄问题。陈绪希望有一天会出现“德高望重的”操作系统研发人员。他也相信,这一天必然出现在国内操作系统生态更加完善的环境下。
从 Linux 三十年繁荣发展的历程可以预见,坚持云和开源将是国内操作系统生态建设的必由之路。
陈绪强调:“龙蜥希望成为 CentOS 替代的第一选择。”在他看来,龙蜥操作系统能够达成这一目标的关键点在于“中立”。“中立的操作系统才不会给国内的使用者带来太多的顾虑。”目前国内操作系统最大的挑战不是技术而是生态,“当你晚了一点之后,你需要付出更多的努力,同时增强大家对你的信任。”
龙蜥操作系统团队为此做了很多努力,比如,整个社区的生态和发展方向由理事单位和合作伙伴共同决定。除此之外,龙蜥社区设有技术委员会和运营委员会,按照开源社区的运作模式,共同推动技术和运营工作,发挥各家所长。
底层研发的硬件适配和核心系统的开发,阿里云当仁不让。除此之外的部分,需要由其他更擅长的合作伙伴来担当,比如统信捐献 DDE 环境、Intel 和龙芯等能帮助龙蜥用户第一时间获得硬件升级带来的性能体验等。这样做的好处,一是避免了重复造轮子,二则可以实现良性竞争,龙蜥操作系统在每个应用领域都会支持多家厂商。
“我从来没有想过能够在中国做这样一个社区,时代造就了这样一个很好的机会。”陈绪很感慨。2021 年 11 月工信部印发的《“十四五”软件和信息技术服务业发展规划》中指出,开源重塑软件发展新生态,开源已覆盖软件开发的全域场景,正在构建新的软件技术创新体系,引领新一代信息技术创新发展,全球 97% 的软件开发者和 99% 的企业使用开源软件。因此,中国开源社区的发展也要充分依靠行业主管部门的力量来推动,集中力量办大事。
当被问及龙蜥操作系统的核心优势是什么?陈绪答:“一人行快,众人行远。”更加开源开放的操作系统生态,能为技术创新提供更加肥沃的土壤。(完)