openEuler 首个创新版本:集全球开发者之力,共构开放多元的软件生态体系

原创
10/19 18:40
阅读数 4.7K

华为“2012实验室”是一个颇具神秘色彩的部门,它专注于研究新理论和基础软件研发,许多前沿的新技术均诞生于此,因此有媒体曾将其称为“中国黑科技最多的地方”。

“2012实验室”部门包含许多以世界知名科学家或数学家命名的神秘实验室,例如香农实验室、高斯实验室、谢尔德实验室、欧拉实验室和图灵实验室等。从这些极具“理工科”气质的实验室命名中能看到,华为对数学乃至科学的推崇态度可见一斑。

本文将要介绍的 openEuler 正是来自欧拉实验室——华为自有操作系统研发中心。由欧拉实验室主导研发的服务器操作系统 EulerOS 去年宣布开源,开源后更名为 openEuler。openEuler 是 EulerOS 的开源版本,基于 Linux 稳定内核,支持鲲鹏处理器和容器虚拟化技术,特性包括系统高可靠、高安全以及高保障。

上文提到 openEuler 是一款服务器操作系统,因此其面向的对象主要是服务器,包含了基础加速库、虚拟化、内核、驱动、编译器、OS 工具和 OpenJDK 等组件。

openEuler 内核基于 Linux Kernel ,华为作为 openEuler 社区的重要组成部分,在 Linux Kernel 5.8 版本中,代码贡献全球第二。openEuler 通过开放的社区形式,以拥抱全世界的姿态与上下游生态建立连接,通过协作模式开发共同推进版本演进,吸引开发者和厂商共同构建一个开放、多元和架构包容的软件生态体系。

作为一个秉承共享理念的开源项目,openEuler 也将始终坚持 Upstream First 策略,所有体现在新版本上的改进和新特性会第一时间向上游开源社区贡献。这种正向反馈的模式也将吸引更多的全球开发者参与建设。

对于 openEuler 的这种开放特性,华为鲲鹏计算领域副总裁江大勇曾在首届 openEuler 峰会 2020 上有过更为深刻的解释:“openEuler 不仅是一个 Linux 的发行版,也不仅是一个开源社区,openEuler 更是一个创新的平台,所有开发者、合作伙伴、开源爱好者共同参与进来,一起围绕客户的场景进行创新,有更多新的想法产生,让应用体验更好,让计算产业更繁荣。”

上个月最新发布的 openEuler 20.09 正是对其开放理念的最好印证,因为新版本发布是 openEuler 社区中的多个公司、团队以及独立开发者协同开发的成果,充分体现了开放社区协同开发的优势。

  • 中科院软件所贡献了 RISC-V 新指令集架构支持

  • 麒麟软件为社区共享了 UKUI 桌面环境

  • 云原生虚拟化平台 StratoVirt 和 iSula 容器升级版,两者的结合重构了轻量级云原生基础架构

  • BiSheng JDK 为 Java 应用带来更强的性能

  •  IMA 完整性度量架构和 secGear 机密计算框架,给开发者在多平台安全应用的开发效率带来倍级提升

同样得益于庞大且开放的社区,据了解,在 20.09 版本的开发过程中社区贡献者总共合并了 11485 个 PR,SIG 组的数量增加到 71 个,覆盖了从云计算、云原生到桌面端等多个领域。

不同于 LTS 版本,根据版本计划 openEuler 20.09 属于创新版本,其在试验和探索新技术方面更为激进,旨在构筑开发者生态,因此会产生更多的活跃新特性,这些特性在某种程度上反映了社区对未来趋势的判断。

例如 20.09 中的云原生虚拟化平台 StratoVirt。StratoVirt 是 openEuler 开源平台上实现的下一代虚拟化技术,Strato 意指大气层中的平流层,寓意是保护 openEuler 平台上业务平稳运行的轻薄保护层。

目前 openEuler 平台已经使用的是 QEMU 虚拟化技术,QEMU 是通用模拟器和虚拟机,几乎可以模拟任何硬件设备,不过它代码量庞大,CVE 安全漏洞频出。因此业界逐步演进出以 Rust 语言实现的 CrosVM、FireCracker 和 Rust-VMM 等架构。安全、轻量、高性能、低损耗、组件灵活拆分、全场景(数据中心、终端、边缘设备)通用的虚拟化技术是未来的趋势。

StratoVirt 作为 Rust 语言实现的虚拟化项目,提供了轻量虚拟机和标准虚拟机两种模式。对于轻量化场景,StratoVirt 仅实现运行业务负载所需的最小设备集,极大精简传统虚拟化冗余的设备类型,大大减少系统开销。因为轻量虚拟机模式下,单虚机内存底噪小于 4MB,启动时间小于 50ms,且支持毫秒级时延的设备极速伸缩能力。

对于传统业务的上云环境,StratoVirt 通过动态配置方式实现对标准虚拟机的支持,并将持续优化系统性能。标准虚拟机模式下,可支持完整的机器模型,启动标准内核,可取代 QEMU,同时在代码规模和安全性上有较大提升。

可以看到,StratoVirt 以一套软件架构同时支持多种虚拟化硬件加速技术,并将逐步从 CPU 通用计算向 AI 异构计算演进,推动算力融合。

除了基础应用方面的创新,openEuler 20.09 对于来自上游的内核新特性的吸收也十分迅速,并会根据需要进行改进。

IMA (内核完整性度量架构, Integrity Measurement Architecture)是 openEuler 在 20.09 版本引入到内核的新特性,20.03 LTS 及之前版本均不提供对 IMA 以及可信计算的支持。IMA 的引入从无到有地填补了 openEuler 在可信计算领域的空缺,提供了在应用层保护文件完整性的能力,连接了信任链中的可信操作系统和可信应用。

20.09 版本不仅使用了 Linux 4.19 内核原生的 IMA 特性,同时也提供了一种更安全、更便捷的新方案——IMA 摘要列表扩展供用户选择,新方案在保证安全性的同时,显著提升了度量的效率,方便了用户的使用。摘要列表扩展在确保安全性的前提下,减少了不必要的 PCR 扩展操作,相比原生 IMA 启动时间减少约 65%。

在易用性方面,摘要列表扩展可实现安装完成后开箱即用,且允许直接在 enforce 模式下安装或升级 rpm 包,无需重启和手动标记即可使用,实现了用户感知最小化,适合现网环境下的快速部署和平滑升级。对推动 IMA 应用于生产环境有重大意义。

openEuler 20.09 的新特性非常多,从基础软件到内核改进,乃至深入到 CPU 支持层面等。而为众多特性贡献代码的既有厂商、也有科研机构和独立开发组织或开发者。

因此,计算机产业多样性的繁荣发展离不开产业链上下游的共同参与。openEuler 作为开放社区,正在吸引越来越多的全球开发者乃至厂商加入进来,同时作为一个创新平台,它鼓励任何人在该平台上提出新想法、新思路以及实践新方案,构建支持多处理器架构、统一开放的操作系统社区,共同推动软硬件应用生态繁荣发展,朝着“共建、共享、共治”方向稳步前进。

展开阅读全文
打赏
0
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部