2022年7月,统信软件在继承自由开放的开源精神基础之上,结合当前操作系统软硬件产业链的现状,首次提出了「分层分类」的开源技术路线。
时隔一年,统信软件自研的分层分类算法取得初步成果,并已应用于统信UOS服务器版和统信UOS云原生版等多个产品。
「分层分类」新思路,使得大家能摒弃细节,把握大局与关注核心问题,也能凝聚共识,为下一代操作系统的开发奠定坚实的理论与技术基础。
第一
统信UOS的分层分类方案
「分层分类」体系架构的核心思想是“垂直分层、水平分类、数据驱动、算法先行”。
在IT领域中,将软件包的关系结构化,可以有效“加速”系统构建和维护。
例如,可以由软件包的构成和位置确定其承上启下的作用,从而判断更换软件包的代价,进而为业务场景和生产环境的平滑迁移与升级提供有力的依据。
分层方案
根据软件包依赖关系进行层级划分,每层定义了各自的功能范围,并向上层提供相应的接口:
内核层:包含操作系统内核和驱动程序,向下屏蔽了硬件差异。
核心层:对操作系统启动运行和使用起关键作用的核心软件。
系统层:扩展内核层、核心层功能服务,为客户和应用提供数据和服务的软件。
应用层:供客户和应用使用的各类通用软件(与各类应用场景有交集)。
分类方案
分三个维度,即形态、功能和场景:
形态:根据软件包中的文件及其描述信息,将其分为库、工具和服务。
功能:主要根据软件包的描述信息,挖掘出其中的功能。
场景:以用户的实际使用场景为依据,并根据这些场景的典型应用及其依赖关系,进行归并。
第二
千挑万选的BERT模型
首次提出「分层分类」技术路线后,我们做过很多尝试:将软件包的依赖关系组成图后,对图进行切割或矢量锚点定位;使用NLP算法的BERT模型,根据软件包依赖关系进行分割……
最终,我们选择了BERT模型方案。
BERT模型是由Google提出的自编码语言模型,思想是计算出每个句子中每个token与其他token的关系向量,然后对关系向量进行正则化,最终得到分类概率。
第三
统信UOS的分层与分类算法
分层算法是根据软件包的描述信息及其上下依赖关系的描述信息进行分层。
上下依赖关系分为上层依赖和下层依赖,上层依赖即其他软件包依赖该软件包,下层依赖即该软件包依赖其他软件包。
分类算法,则是根据软件包的描述信息进行分类。
统信UOS服务器版汲取国内外主流社区技术栈优势,融入「分层分类」的理论和实践优势,深入技术底层结合国内外设计标准与规范以及各类用户业务应用需求,积极开展技术创新,全面支持国内外主流CPU架构和处理器厂商,在各种应用环境中,满足强安全、高稳定、高性能、易维护以及泛兼容等要求,是一款构建信息化设施环境的基础软件产品:
强安全:
等保四级GB/T 20272-2019认证
商密二级GM/T 0028认证
全栈生态链支持国密
国际知名安全社区OpenSCAP官方首批支持的中国操作系统
21天推送一次补丁更新,每周进行漏洞修复推送
高稳定:
稳定版 Linux 4.19&5.10双内核
热补丁升级机制
LTP 7*24小时测试用例通过率超98%
长时高负荷运行,卸荷后60秒内实现系统及各应用流畅运行
高性能:
内存拷贝页技术,拷贝性能提升超70%,满并发优化提升10%
多种自研性能优化成果:文件读写性能提升4%、调度延迟减少10%、多并发锁竞争场景性能提升5%……
相比同类产品,UnixBench等测试全面领先
易维护:
提供自研统信有易服务器迁移软件
提供自研统信有幄自动化运维工具
提供面向场景的AI系统调优能力
泛兼容:
历史版本兼容性>98%,提供平滑升级方案
组件模块化设计,为用户最大限度解决底层依赖问题
全面通过整机适配兼容性测试(多种不同型号的整机)
统信软件服务器操作系统与云计算产线总经理孟杰表示,统信UOS的分层分类研究成果已广泛应用于多产品、多领域,可以更好地协调产业/团队分工、明确研发方向、维护关键软件、共建共享共治开源新生态。未来,我们将继续深耕技术方案和架构,助力中国开源操作系统角逐世界舞台。