天下大势,合久必分,分久必合。
操作系统作为云计算与物联网时代的 IT 底座,历来是兵家必争之地。近期更是风起云涌,先是苹果推出全新自研 M1 芯片,不但在桌面市场甩出王炸,也旨在为苹果未来的云 Linux 做好了准备;与此同时,云计算市场占有率最高的 CentOS 项目走向终结,而被 IBM 收购的红帽也建议建议用户使用收费版本的 REHL 作为 CentOS 替代;在云原生领域,Docker 与 K8S 的分手事件也必将影响深远,容器和容器编排平台都是云原生的基础,这次“离婚”是否会让 Docker 和 K8S 这两个最成功的开源项目直接开成「硬分叉」值得观察。
不过在笔者看来,以上事件都没有 Google 发布 Fuchsia 源码来得震撼。毕竟 10 年前,Google 主导的 Android 操作系统在前有 Symbian,后有 Blackberry、Windows Mobile 的情况下横空出世,创造了以一挑十、独战群狼并最终获胜的神话,Android 的成功也使 Google 统一了移动端操作系统的江湖。如今 10 年后,Google Fuchsia 操作系统正式开源,其定位为横跨手机、电视以及物联网终端的操作系统,与国内鸿蒙 OS 的发展方向与市场定位相类似,而此次 Fuchsia 能否再续 Android 在移动互联网时代的辉煌,我们的国产操作系统又能否与 Google 一较短长,这个问题或需要交给时间来验证。
整体而言,回顾过去一年,国产操作系统还是取得了相当大的进展,在本文中,我们不妨进行一波盘点,探国产操作系统究竟发展几何。
1 国产操作系统百家争鸣
麒麟遨天——银河麒麟操作系统 V10
8 月 13 日,银河麒麟操作系统 V10 正式发布,作为一款面向桌面应用的图形化桌面操作系统,其本次更新最大亮点就是对于国内自主研发的龙芯、飞腾、鲲鹏等芯片做了专门的优化。
来源:银河麒麟操作系统 V10 云端发布会
麒麟 V10 的发布得到了我国基础软件领域泰斗倪光南院士的高度评价,在发布会上,倪院士表示麒麟操作系统的安全性已经成为国内操作系统中的佼佼者,安全等级代表着国内最高等级水平,不仅如此,倪院士还对麒麟系统十分有信心,并表示相信国产自研操作系统将会在三五年内打破国外垄断。
指令集 LoongArch
同样是在 8 月 13 日,龙芯中科董事长胡伟武在全国计算机体系结构学术年会(ACA2020)上作了一篇名为《指令系统的自主与兼容》的特邀报告,在报告中,他宣布了龙芯自主研发的全新指令集 LoongArch。
LoongArch 可以深度兼容 Windows、Linux、Android 程序,可谓一举多得。而如果把操作系统比成计算机体系中的董事长,而芯片就相当于 CEO,指令集则相当于董事长与 CEO 沟通的桥梁,操作系统这位董事长需要把用户的指令翻译成芯片 CEO 能听懂的语言去执行,也正是如此芯片和操作系统一般都会搭档联盟,共同构建生态。
目前,我国鸿蒙 OS 加海思,RT-Thread 加 RISC-V,麒麟加龙芯等联盟其实都是剑指未来的 IT 生态。LoongArch 的发布弥补了我国在指令集方面的不足,堪称是我国 IT 基础领域自研的重大事件。
万众期待的 HarmonyOS 2.0 如约而至
9 月 10 日,在松山湖华为开发者大会(HDC)上,华为消费者业务 CEO 余承东宣布,华为鸿蒙系统升级至 2.0 版本,即 HarmonyOS 2.0。
华为鸿蒙 2.0 以跨设备分布式协同、自适应 UX、弹性部署等方面的特性见长。不久前,HarmonyOS 手机应用开发者 Beta 版也正式到来,对此,华为消费者业务软件部总裁王成录曾表示道:“做一个操作系统在技术上不难,但困难的是生态。如果生态无法给予产业发展的机会,那么这款操作系统的生命力就将产生问题。”
HarmonyOS 被定位为一款为万物互联而生的操作系统,其能够避免硬件设备的系统碎片化问题,让开发者可以专注于开发逻辑,从单设备限制中脱离出来,而不是陷入层出不穷的底层设备适配问题。同时,华为官方也表示,HarmonyOS 将成为开启万物互联时代的一把钥匙,其能够为开发者提供更好的应用开发体验,提供更多的 IoT 硬件入口。
RT-Thread Smart
9 月1 日,我国开源领域的代表人物熊谱翔创立的睿赛德科技在北京举办发布会,发布会上全新的微内核操作系统 RT-Thread Smart 登场亮相。
中国工程院院士郑纬民先生开场致词时表示,有幸见证 RT-Thread 发布微内核操作系统技术,源于轻量级实时操作系统的微内核,着较大的开创性,对我国嵌入式基础软件的发展意义重大;其相比于 Linux,在工业、国防、电力等行业都有着较为明显的差异化竞争优势和广泛的应用前景。
之前 Vxworks、QNX 为代表的国外操作系统,几乎垄断所有带 MMU(MemoryManagement Unit,内存管理单元)芯片的高端终端,国产操作系统几乎没有能在此类高级芯片上运行的。而 RT-Thread Smart 填补了这项空白。这不但能促进业界充分发挥物联网终端的计算潜力,让终端真正智能起来,对于中国建设自主物联网生态,也有着重要意义。
目前,RT-Thread Smart 代码已开源:https://github.com/RT-Thread/rt-thread/tree/rt-smart
合璧操作系统设备侧预览发布
合璧操作系统(HybridOS)是由我国开源先驱人物魏永明老师主持开发的面向智能物联网与云计算的全新开源操作系统。与 HarmonyOS 相比,合璧操作系统更加具有突破性的理念,在合璧中首先提出全新的 HVML 语言,并将 HVML 作为合璧操作系统 App 的首选编程语言。
在 HVML 以及可选的 JavaScript 语言基础上提供统一的 App 开发框架,使合璧操作及相关技术可用于开发跨操作系统应用,打造完整的“Universal App”体系。
9 月 30 日,合璧操作系统设备侧的应用运行环境(hiShell)发布了第一个版本,同时更新了合璧操作系统图形栈以及 hiWebKit 组件。
面向未来的新型物联网操作系统——商业智能操作系统 iSysCore BI-OS
与我们所理解的常用物联网操作系统有所不同,由资深操作系统技术人潘爱民带来的指令集商业智能操作系统是一款面向各种商业场景的底层系统软件,它安装在 PC 服务器上或者部署到云上,将场景中的各种设备连接到一个平台上,类似于 Windows 把键盘、鼠标、打印机等连接起来。
对此,潘爱民曾在接受 CSDN 采访时表示,对于这款商业智能操作系统的整体规划是,指令集 BI-OS 未来会开源核心系统部分,给业界一个参考,同时也让合作伙伴相信指令集开放的态度,以及提高他们解决问题的效率。
操作系统新成员——小米 Vela 物联网操作系统
在 11 月 19 日的小米开发者大会上,小米 AIoT 战略委员会主席、IoT 平台部总经理范典,正式对外公开小米物联网操作系统 Vela。
小米 Vela 软件平台是基于开源嵌入式操作系统 NuttX 打造的物联网软件平台。NuttX 是由美国著名的开发者 Gregoy Nutt 在 2007 年发布的一个实时嵌入式操作系统,小米是从 2017 年开始开发基于 NuttX 内核物联网的产品,在小米的积极推动下 NuttX 在 2018 年加入了 Apache 基金。
因其在设计之初就考虑到与 Linux 的兼容性,并提供对于 POSIX 接口的原生支持,因此 NuttX 用作者名+X 以表示其属于类 Unix 操作系统,目前索尼、三星等大厂也纷纷加入了 NuttX 阵营。
小米之所以选择 NuttX 作为物联网操作系统的内核,也是因为 NuttX 平台是专门用于智能家居、可穿戴设备等算力受限设备上的物联网嵌入式开发平台,支持高性价比 MCU 设备,打通碎片化的 IoT 应用。相信以小米在供应链方面多年来的经验,可以发挥出 Vela 的全部潜力。
2 国产系统与 Fuchsia 竞争的策略之拥抱 Linux
在盘点过国产操作系统的进展之后,让我们再来看看国产操作系统未来最大竞争对手——Google Fuchsia 的情况。种种信息披露显示,Google 对于 Fuchsia 的定位就是要做一款覆盖全链路分场景的操作系统。按照 Google 的计划 Fuchsia 将在 5 年内全面替代 Android。
相对而言,目前我国厂商的策略基本上是全面拥抱 Linux,比如鸿蒙的 KAL 内核层中除了华为自研的 Lite OS 之外,最主要支持的内核就是 Linux Kernel(https://developer.harmonyos.com/cn/docs/documentation/doc-guides/harmonyos-overview-0000000000011903)。
对于鸿蒙全面拥抱 Linux 的做法,不少网友都在吐槽说鸿蒙是否真如像宣传中那样的自主可控,而这里笔者必须指出,Linux 的精神内核就是开放与共享,而我国厂商在开源方面进步神速,尤其值得一提的是,从目前 Linux 的稳定版本 5.8 的情况来看来自华为的贡献至少排在所有贡献者的第二名。
与我国全面拥抱 Linux 的策略开成鲜明对比的是,Google Fuchsia 操作系统计划重起炉灶另开张,Google 官方宣称 Fuchsia 的命名含义是“Pink(粉红)+Purple(紫色)=Fuchsia 即灯笼海棠,一个新的操作系统。
注:笔者多次尝试打开 Fuchsia 的英文官方网站,但是速度极慢,而且经常掉线,因此如果有读者也对 Fuchsia 的抱有强烈好奇,希望了解更多,那么可以到他们的官方中文网站云浏览(https://fuchsia-china.com/),去获取有关 Fuchsia 的消息。
正如我们前文所说 Fuchsia 的目标是替掉自己家的 Android,因此 Fuchsia 对于 Android 所使用的 Linux 内核并不感冒,而是选择了一款名为 Zircon 的微内核做为核心。笔者对于 Zircon 微内核了解并不多,不过既然是 Zircon 微内核那么这也决定了,它与 Linux 的宏内核不会有太多关系。
实际上,宏内核将内核的功能都组合在一个内核态进程中完成,而微内核将许多在宏内核中的模块移出内核,使之运行于用户模式。
宏内核的好处是各功能模块处于同一个地址空间,相互调用效率很高。弊端是体积太大,不利于在移动设备上进行部署。
微内核的好处是功能模块各自独立,体积较少,方便进行移植也方便对其它体系的兼容。弊端是功能模块之间变进程间通信,CPU 上下文切换代价很大,执行效率较低。
因此 Fuchsia 作为一款划时代的新操作系统,选择 Zircon 微内核方案倒也并不奇怪。
不过笔者也要指出,Linux 的生态已经深入人心,目前微软这样的传统软件公司都通过 WSL 黑科技,让每台装有 Windows 的电脑,都可以无缝运行 Linux 了。考虑到手机市场上 Android 的占用率高达 90%,而云计算市场中 Linux 的占用更是接近 100%,从手机到云服务器目前 Linux 的生态帝国已经无处不在了。
不过,Google 的野心勃勃也许恰恰是我们突破的机会,只要我们加紧向社区贡献代码,获取林纳斯等开源领袖人物的大力力支持,相信我们能在 Linux 的旗帜下找到新的方向。
3 国产操作系统与 Fuchsia 竞争的策略之 ARM:抱团与开源,一个也不能少
近几年,ARM 架构的芯片之所以能大放异彩,其实也全靠 x86 这个同行的衬托。在 x86 架构芯片的指令集芯片方面,英特尔掌握近 7 成的专利,AMD 掌握 3 成多的专利,两家厂商交叉授权,但是几乎没有什么对外授权。因此英特尔虽然研发投入不低,但是绝大部分成果都用于储备,只是缓慢的推进自身产品的技术栈演进,这样的策略不但能保证自身的利润,还能使 x86 体系中的小弟 AMD 不至于掉队太远。
不过这样的模式有个致命的弱点,在技术爆发式发展的当下,几年前的技术储备,放到今天可能就一文不值了。虽然英特尔充分发挥了 14nm 工艺的极限能力,不过制造边际效益递减的趋势在 5nm 以下才会显现,即便英特尔固守的 14nm 工艺 CPU 没有性能方面依旧保持领先,但是在功耗上是完全无法与 7nm 芯片相抗衡的。而无论是云数据中心还是手机等移动终端对于能耗指标又极为看重,而在性能功耗比方面,ARM 架构芯片有着得天独厚的优势。
目前华为鲲鹏、苹果 M1 的问世,ARM 芯片无论在云计算、手机平板终端还是在 IoT 领域都对 X86 形成了一定优势,同时 ARM+Linux 的强强联合已经在 Android 系统上得到了十年的验证。
因此拥抱 ARM 其实就能够使我们站在巨人的肩膀上,取得先发优势。
今年以来,无论是飞漫的 HybridOS(合璧OS)、RT-Thread Smart 等均与鸿蒙有着巨大的合作可能与合作空间。其中,尤其是 RT-Thread Smart 作为一款支持 MMU(Memory Management Unit,内存管理单元)的操作系统,如果也能加入鸿蒙的内核支持列表中,合璧 OS 以及 HVML 语言也能够助力鸿蒙打造一个一栈式 App 研发平台,相信将使国内厂商形成合力,组团出征。
不过当前必须指出,目前我们最大的对手或是 Google 的 Fuchsia。如果此时国内操作系统厂商不能抱团齐心协力推进,那么国产操作系统很可能重蹈之前被 Android 团灭的覆辙,前世不忘,后世之师。当然这方面还需要国家层面进行整合,这里笔者还是要呼吁操作系统领域的各位同仁尽快展开合作,切莫空耗内卷。
最后开源目前已经成为了基础领域生态的必经之路,目前在操作系统方面除了 Windows、macOS 外的主流操作系统几乎全部开源了,甚至微软收购 GitHub 之后将 MS-DOS 也上架开源。因此鸿蒙还是要继续执行开源策略。
此外,我们也要从 Fuchsia 中汲取一定的经验,作为一款开源的操作系统,我们没有必要对其采取全面负面态度。事实上,早在两年前,有消息显示,华为海思麒麟 970 处理器和 Fuchsia 操作系统展开合作,毕竟各自取长补短才是大势所趋。
对于操作系统领域我们要做到了然于胸,同时也必须清醒的认识到与国外巨头的竞争,对此,我们必须要躬身入局,组队竞争并与外部保持交流,不能只看个热闹,放慢自身追赶的脚步,
4 云原生——操作系统的终极猜想
在十年前业界普遍流传着一句话叫做「软件吞噬世界」,后来发展至「互联网世界的一切源自开源」,而直到最近人们才真正醒悟——原来云原生才是背后的大 BOSS。凡是不使用云的都将落后,都无法做到敏捷,跟不上时代。
正如笔者在前文《从“卡脖子”到“主导”,国产数据库 40 年的演变!》所说,未来 Polar 等云数据库很可能是传统数据库的终结者,而在操作系统方面,云原生的基础运行环境如 Docker、Podman 等容器,本质上就是一个轻量级 OS,因此抓住云原生领域弯道超车的机会也是我们重要的竞争手段。
未来,我们也将拭目以待。