Article / 文章中心

首个全链路国产操作系统要诞生了,OpenCloudOS首度披露技术路线

发布时间:2022-06-24 点击数:512
众多企业参与的OpenCloudOS,能否成为操作系统的“国产之光”,还需要时间的检验

在刚刚过去的2022 OpenCloudOS 社区开放日上,国产开源操作系统OpenCloudOS正式发布首个源社区(L1)项目及首个全量软件包(L3)版本,并披露其技术研发路线图。

图片来源@网络视频截图

据官方介绍,这意味着,OpenCloudOS将成为我国首个具备全链路国产化能力的服务器操作系统,可以为国内企业提供自主可控的上游版本,和满足企业级稳定性需求的软件供应版本。

OpenCloudOS的由来

2021年12月22日,OpenCloudOS操作系统开源社区正式成立,由操作系统及软硬件厂商与个人开发者共同倡议发起,有20余家操作系统生态厂商及用户成为首批创始单位。

据官方介绍,OpenCloudOS操作系统开源社区成立之初,即决定成为完全开放中立的开源社区,并已通过开放原子开源基金会的TOC评议,确认接受社区项目捐赠。

后续在基金会托管和监督下,OpenCloudOS将以标准开源社区模式运作,与社区参与单位共治共建。

换句话说,就是OpenCloudOS操作系统开源社区不存在厂商标签,也不由任何一个单独的厂商主导。

社区将打造全面中立、开放、安全、稳定易用、高性能的Linux服务器操作系统为目标,今年1月26日,开源操作系统社区OpenCloudOS宣布发布首个正式版本:OpenCloudOS 8.5。

据官方介绍,OpenCloudOS 8.5版本基于Linux内核自主研发设计,采用自动分区、格式化并安装默认软件包的自动化简易安装方式,默认不安装图形环境,用户可按需手工安装,能满足绝大部分服务器场景的通用需求。

另外,OpenCloudOS针对云原生场景设计了一整套原创云原生特性,形成云原生内核,其典型特性包括以下几方面。

(1)容器资源视图隔离 (cgroupfs)

云原生场景中,容器的整体隔离性还不完整,/proc、/sys文件系统中的一些关键资源信息没有完整的容器化,导致在物理机/虚拟机中的一些常用命令(比如 free / top )在容器中运行时,不能准确展示容器视角的信息。

OpenCloudOS内核增强了容器资源视图隔离,实现了cpustat、cpuinfo、loadavg、meminfo、vmstat等关键资源视图的隔离,同时支持iotop等实用工具,整体提升了容器隔离性。

(2)云原生SLI(容器视图的专业指标)

从云原生的角度看,云原生SLI可以理解为针对云原生场景的、可用于观测Service level的指标,具体来说即容器视角的的一些关键指标。

另一方面,现有Upstream Kernel在Cgroup基本的统计和监控还比较原始和粗糙,缺乏可用的、容器视角的SLI数据采集和抽象。

OpenCloudOS内核设计了云原生SLI,通过在内核中实时的搜集和计算(低开销方式)提供SLI指标,供上层( K8s )使用。

(3)Monitor Buffer(常态化内核关键监控)

OpenCloudOS内核提供的云原生常态监控工具,用于监控干扰和抖动的内存区,当关键指标不符合预期(超限)时,自动记录相关上下文信息,能有效捕获随机出现的异常上下文,解决业务随机抖动的业界难题。

(4)ARM64 热补丁

内核热补丁技术是一种无需重启服务器,即可实现修改内核运行时代码的技术。OpenCloudOS基于Kpatch框架开发了ARM64热补丁特性,完整提供了ARM64环境中的热补丁解决方案,可在不影响业务正常运行的情况下,修复内核bug或者安全漏洞

(5)Page Cache Limit

Page Cache是Linux内核的一种文件缓存机制,可提升系统的读写性能。但是过多的文件缓存,会占用大量的系统内存,可能会导致各种系统问题。

OpenCloudOS实现了Page Cache Limit特性,可以解决因Page Cache过多导致的各种问题,同时可增强实现容器级别的Page Cache Limit(包括Slab Limit),可进一步增强容器的隔离性。

OpenCloudOS的现状与未来

据官方介绍,目前OpenCloudOS社区管理机构如理事会、技术委员会(TOC)都已经成立,已有47家企业和机构参与社区共建,腾讯、英特尔、中兴、京东云、OPPO、清华大学、北京大学等都是社区的重要成员。

此外,社区还组建了多个兴趣小组(SIG),如合规SIG、发布SIG、基础设施SIG等。

用户态组件方面,OpenCloudOS预计将于2023年初发布V9第一个版本,V9版本将完全从Upstream社区构建和维护所有的软件包,不依赖其他厂商和下游社区,与独立演进的内核一起构成完整的L1社区。

然后由社区头部厂商根据L1社区构建商业版本 (即L2版本),并各自在自己的应用场景中经过大规模应用验证后,最终输出稳定的企业级稳定OpenCloudOS 社区版本 (即L3版本,OpenCloudOS V9)。

换句话说,L1是一切发行版的上游“河流源头”,投入大,更底层;L2是基于L1开发的“企业级稳定版本”,位于“河流的下游”,提供商业技术服务,满足企业级需求;L3是基于L2的衍生版本,就像“河流下游的分支”,稳定性经企业级应用验证,通常是面向社区的免费再发行版本。

后续,OpenCloudOS还将发布首个源社区正式版本(OpenCloudOS Stream 22.12)及第二个社区大版本,满足企业自主可控的需求。

图片来源@网络视频截图

国产操作系统之殇

无独有偶,就在6月21日,被称为操作系统“国家队”的麒麟软件宣布,在七位中国科学院、中国工程院院士的共同见证下,麒麟软件与国内主流操作系统厂商、研究机构、社会组织携手共创中国首个桌面操作系统根社区openKylin将于6月24日14:00正式发布。

实际上,自1999年4月8日,中国第一款基于Linux/Fedora的国产操作系统Xteam Linux 1.0 发布以来,中国在本土操作系统领域的探索已长达二十余年,蓝点(Blue Point)、红旗(Red Flag)等国产操作系统都曾寄托了不少国人的期望,即便现在市面上能查询到的“国产操作系统”也至少有15种。

然而可惜的是,目前真正能长期坚持版本迭代的只有麒麟软件、统信软件和中科方德三家,大部分国产系统由于诸多原因,未能形成足够的市场影响力,难逃“诞生—短暂辉煌—迅速衰落”的周期。

操作系统之难,不完全是技术上的,形成良性循环的软硬件生态可能是更为重要的因素,Windows的发展历程就是一个典型案例。

尽管在高层的推动下,国产操作系统在政企用户市场已经破冰,但在个人消费市场,国产操作系统的表现乏善可陈:最近5年,即便在国内,所有国产操作系统的市场占有率加起来也不足百分之五。

好在,国内开发者对国产操作系统还不是完全无感。

图片来源@网络

总体而言,长期以来,我国操作系统产业处于“多、小、散”的状态,操作系统也成为我国被“卡脖子”的关键技术之一,操作系统OpenCloudOS的全链路国产化,让我们看到了中国在基础软件领域突破被动局面的一道新曙光。当然OpenCloudOS未来的发展如何,我们还需要拭目以待。