写点什么

当操作系统告别了“碎片化”,会是种怎样的体验?

  • 2021-11-17
  • 本文字数:2655 字

    阅读完需:约 9 分钟

当操作系统告别了“碎片化”,会是种怎样的体验?

在手机端,安卓和 iOS 是当前两大主流的操作系统,但在工业智能化的发展过程中,服务器和工业设备的操作系统却相互割裂,这导致数据孤岛化的情况进一步加剧,如何能让不同设备、不同场景形成有效协同,成为了亟需解决的问题。


在刚刚落下帷幕的 openEuler Summit 2021 中 ,欧拉开源社区技术委员会主席胡欣蔚发表了《全场景欧拉 - 志之所趋,无远弗届》的主题演讲。在随后的媒体沟通会中,InfoQ 约访了胡欣蔚,围绕 openEuler 21.09 的技术升级以及操作系统“碎片化”等问题与他做了进一步探讨。

操作系统“碎片化”怎么破?


正如前文所言,生态割裂、应用重复开发、协同繁琐是当前操作系统领域的现状,为了打破这种局面。9 月 30 日,首个支持数字基础设施全场景的 openEuler 21.09 创新版本应运而生,这也是欧拉全新发布后的第一个社区版本。


新欧拉可广泛部署于服务器、云计算、边缘计算、嵌入式等各种形态设备,应用场景覆盖 IT(Information Technology)、CT(Communication Technology)和 OT(Operational Technology),实现统一操作系统支持多设备,应用一次开发覆盖全场景。


自 2019 年 12 月 31 日 openEuler 成立以来,华为以及欧拉社区始终没有忘记在核心技术和社区基础能力两方面持续投入,在 openEuler 21.09 创新版中也是如此。



由于不同芯片架构对内存模型以及锁原语的定义略有差异,如果这些差异不能在操作系统中有效解耦,就意味着上层应用在不同架构间移植时会出现很多问题。目前,针对锁和内存模型的形式化的验证研究,已经能够证明同步的并发原语在不同数据结构的正确性,这一点对于多样性计算来说极为关键。

同样以多样性算力出发,对于多任务共享虚拟内存池,已实现了跨进程零拷贝;UADK 加速器框架也已经能为加速器开发提供统一接口。


其次,RISC-V 被认为是继 X86 架构和 ARM 架构之后第三个主流架构,毕昇 JDK 作为一个高性能、可用于生产环境的 OpenJDK 发行版,目前已经实现了 RISV-V 架构下的 JIT。


在虚拟化方面,openEuler 社区首发同时支持轻量虚机容器和标准虚拟机,初步统一了虚机容器生态。

除次以外,对于一个操作系统开源社区而言,如何才能长期、有效地构建操作系统?这一次,openEuler 21.09 在社区基础能力上带来了五大突破:


  • 社区内实现完整的净室构建、网络隔离:如果没有把构建环境隔离,则有可能在构建过程中被注入不安全的网络组件。目前,openEuler 在构建过程中用到的组件都源自可控、可管理的内容网络,能够保障开发者交付的版本与社区开源的代码是一一对应的;

  • 基础构建支持边缘和嵌入式版本:发布面向边缘计算场景的版本 openEuler 21.09 Edge,集成 KubeEdge+ 边云协同框架,具备边云应用统一管理和发放等基础能力;发布面向嵌入式领域的版本 openEuler 21.09 Embedded,镜像大小 <5M,启动时间 <5S;

  • 社区门禁引入证书检查和代码片段检查;

  • 加速镜像站点建设,新增镜像站点 10+。


当前,已经在多样性算力和多样性场景上有了全面、长足的发展:在多样性算力上,不仅包含 X86、ARM 以及 RISC-V 的支持,SW 以及 LoongArch 架构也在社区内有了初步的开发;在多样化硬件方面,覆盖了虚拟机、服务器、小型开发版以及 DPU;此外,社区针对不同场景做了操作系统的延伸版本,包括面向云的 NestOS、KubeOS,面向边缘的 OSWare、openEuler Edge 以及面向工业控制领域的 GearOS、openEuler Embedded。


openEuler 21.09 创新版本发布后,我们不难看出 openEuler 在根技术持续投入的决心,正如胡欣蔚在演讲中提到的那样:“要想成为中国基础设施的根基,openEuler 需要先把自身的根基打牢、打扎实。

社区如何为全场景提供支持?


由于“性能、可靠、安全、扩展、确定”是以上复杂场景对于技术的归一诉求,组件原子化、构建服务化、协同套件化则是 openEuler 社区给出的答案,基于这三方面的能力,openEuler 社区可以为云、边、嵌入式提供支持。


组件原子化:虽然在过去两年中,openEuler 是按照一定节奏来发布版本,但对于自定义行业来说,他们还希望有更快的演进速度,这意味着 openEuler 要支持原子化特性单独发布、按需集成。另外,为了满足不同行业的应用诉求,还需要用多个内核 + 原子化服务,支持不同场景做灵活地组合应用。


构建服务化:为了让各种操作系统能够共享统一的平台机线,使得业务迁移没有障碍。openEuler 社区提供了构建服务化的能力,其中包括统一的构建数据表达、灵活地构建编程语言、灵活的本地执行引擎以及大规模分布式执行引擎。


协同套件化:为了实现对存储设备统一管理,让任务在多样性算力间快速流动,openEuler 社区提供了基于一套协同化套件,让应用在使用协同能力时变得更方便。

下一步怎么走?


一般来说,可以将数据链路分为设备层、边缘层、企业层以及产业层,openEuler 21.09 创新版本问世以后,数据孤岛被打破,从而实现了从数据流到决策流的理想闭环,让企业在数字化、信息化的发展浪潮中实现了快速的增长。


openEuler 21.09 发布以后,引发了行业内的高度关注,这让我们不禁对欧拉在 2022 年的发展方向产生了好奇。众所周知,openEuler 每年都会在 3 月和 9 月发布两个新版本,胡欣蔚大致为我们介绍了两个方面:


一方面,由于嵌入式操作系统与服务系统的构建方式有很大不同,之前,openEuler 能够编译出一个面向服务器的版本,但现在利用同样的流程却无法编译出面向嵌入式的版本。在 2022 年,openEuler 将会在构建系统方面做调整,让其在面向不同场景时可以用一套代码进行构建。同时,这也将成为技术委员会在明年重点发力的方向。


另一方面,在当前的服务器发展趋势中,单个节点的内存已经越来越不足以支撑业务发展的需要,现有计算架构的瓶颈越发凸显。在 openEuler 后续版本中将推出分布式存储的特性,分布式内存套件是集群分布式应用加速平台,针对大数据、HPC、AI、分布式存储、数据库、云与虚拟化等分布式应用场景,通过内存数据处理、近数计算等关键技术实现应用性能倍数级提升。分布式内存套件在多样化算力和端边云协同场景也可以实现应用的加速。

写在最后


在 openEuler Summit 2021 中,胡欣蔚引用了庄子的一句话作为演讲结束语:“其分也,成也,其成也,毁也”。细究这句话,其实与当前操作系统领域的现状如出一辙。最开始,不同操作系统在不同领域中多样化发展,但在时代发展的过程中,各自为营的操作系统正在成为企业进一步发展的阻力。


我们有理由相信,凝聚了 869 名贡献者力量的 openEuler21.09,仅仅只是一个开始,构建全场景也并不会是华为一家的工作。不远的将来,随着越来越多生态伙伴的加入,横亘在企业发展道路中的这股阻力终将被打破。


2021-11-17 15:244535

评论 1 条评论

发布
用户头像
打破信息孤岛,这是一个漫长的过程啊
2021-11-20 17:04
回复
没有更多了
发现更多内容

对接企业微信,客户关系管理也可以很简单!

CRMEB

软件研发效能需求价值流分析专题

思码逸研发效能

研发效能 软件研发

【福利活动】给你的代码叠个 Buff!点击“茶”收好礼

亚马逊云科技 (Amazon Web Services)

Lambda Code

想要白嫖正则是吧?这一次给你个够!

掘金安东尼

前端 正则 7月月更

LeetCode-111. 二叉树的最小深度(java)

bug菌

Leet Code 7月月更

泛云桌面关键技术分析

A池伟

云桌面 算力网络

手机怎样控制led显示屏发视频?

Dylan

ipad 手机 wifi LED LED显示屏

java零基础入门-综合案例(File类+递归)

喵手

7月月更

有证书有目录!|海泰密码服务平台

电子信息发烧客

RocketMQ系列一:入门级使用演示

hum建应用专家

云计算 RocketMQ

技术分享| HTTP 代理

anyRTC开发者

https 音视频 网络协议 HTTP

浅谈 Slack Channel 支持的一些提高工作效率的特性

汪子熙

远程办公 即时通讯 SAP Slack 7月月更

JAVA编程规范之集合处理

源字节1号

软件开发 后端开发

爱奇艺加入龙蜥社区,携手打造多元化视频生态底座

OpenAnolis小助手

开源 爱奇艺 龙蜥社区 CLA 社区建设

【LeetCode】最长的斐波那契子序列的长度Java题解

Albert

LeetCode 7月月更

python 中Mixin混入类的用法

杨彦星

Python

Room:又要写业务代码了?看看我吧,给你飞一般的感觉!

编程的平行世界

数据库 Android; android jetpack

微信内H5页面唤起小程序&App

南城FE

前端 微信开发 7月月更

蛋糕可以一刀切,研发需求可以吗? | 敏捷实践

LigaAI

程序员 敏捷 产品经理 需求分析 敏捷管理

激情的开头,大意的结局,Python反爬加更,好友求助米哈游的API,给他安排上

梦想橡皮擦

Python 爬虫 7月月更

【C语言】进阶指针night

謓泽

7月月更

SpringBoot自动装配原理

急需上岸的小谢

7月月更

龙蜥社区招募推广大使&体验官啦!| 人人都可以参与开源

OpenAnolis小助手

开源 龙蜥社区 社区建设 官网 体验官

Python 入门指南之交互式输入行编辑历史回溯

海拥(haiyong.site)

Python 7月月更

Android/Unity大乱斗-完整双方集成交互指南

芝麻粒儿

android Unity 7月月更

服务网格中 sidecar 流量治理与多协议嗅探

博文视点Broadview

DBPack 读写分离功能发布公告

峨嵋闲散人

分布式事务 分库分表 读写分离 dbmesh Database Mesh

许式伟:Go+ 演进之路

七牛云

golang 编程语言 go+

CRMEB Pro v1.4,让用户体验更出彩!

CRMEB

web前端培训如何使用CSS自定义属性实现骨架屏

@零度

CSS 前端开发

当操作系统告别了“碎片化”,会是种怎样的体验?_5G/IoT_郑思宇_InfoQ精选文章