欧拉Euler操作系统主要特性(跟Linux到底有什么区别)
主要特性
内核和底层改进
在 openEuler 22.03 LTS 中,采用了经过长期打磨和调校的 Linux 内核 5.10 长期支持版,在这个版本中,华为向上游 Linux 内核社区提交了大量贡献。可以说,这个内核版本是华为的一个“锚定”版本。在此版本上,openEuler 融入了之前三个创新版中经过商业验证的创新特性。
来源:《openEuler 22.03 LTS 技术白皮书》
欧拉操作系统使用的是 Linux 内核 5.10,但除了 Linux 内核自身的特性之外,欧拉操作系统在内核中还做了十余处创新增强,主要包括用来提升性能的进程调度优化、大页内存性能优化、OOM 内存回收优化、XDP 网络性能优化等。比如它集成了一套新的 QoS 调度机制,使得在线业务可以实现抢占式优先;而 OOM 分级使得离线业务的内存可以在欧拉操作系统中得到极速的回升,这二者结合起来,就提供了对 QoS 最强有力的支撑。又比如 UC 容错使得欧拉在面对硬件可靠性问题的时候更加有力,不再需要简单粗暴的重启,而是可以通过对于具体进程的控制,来实现错误的隔离。
除了这些隐蔽但重要的内核改进之外,如今在运维领域已经大量使用了非易失性内存(NVDIMM)存储介质,而传统的 Ext4 文件系统尚缺乏针对性的优化,因为 Ext4 本身是针对旋转式硬盘设计的文件系统。尤其在元数据管理方面,基于现有日志同步机制,其元数据管理开销大,且容易出现写放大问题,无法充分发挥 NVDIMM 优势。欧拉操作系统中集成的 Eulerfs 其创新的元数据软更新技术,减少了元数据同步开销,有效提升文件系统的系统调用性能。在单机应用、云原生分布式应用高性能数据存储场景,可以代替 Ext4、XFS 等文件系统。
在这个版本中,还吸收了鸿蒙中的分布式软总线能力,可以实现欧拉设备之间的自发现、自联通,以及欧拉和鸿蒙设备的自发现。
云计算强化
针对云原生业务混合部署场景,欧拉操作系统中创新的 QAS 算法,是一种适用于云原生场景,业务混合部署的全新调度算法,可以确保在线任务对 CPU 的快速抢占,确定性的调度运行,同时压制离线任务干扰。这些改进适用于对交互类等时延敏感型业务(比如 MySQL、Redis、Nginx 等)和 CPU 消耗重且时延不敏感的业务(如 AI 离线训练)的混合部署。
根据欧拉发布会现场的演示,一台服务器部署了欧拉操作系统 22.03 LTS 中的改进技术,而另一台没有。这两台服务器上,都同时运行相同的在线和离线两类业务。通过运行结果可以看到,在一台服务器上的 QPS 是 1.18,而另一台上达到了 2.62,相差了将近一倍;而时延分别是 1.53 秒和0.60 秒,相差也将近一倍。
除此以外,欧拉操作系统还针对云计算,推出了容器化操作系统 KubeOS,实现云原生集群操作系统的统一容器化管理。它可以对操作系统进行容器化管理、对接 Kubernetes、原子化的生命周期管理;它也对操作系统进行了轻量化裁剪,减少不必要的冗余包,可实现系统的快速升级、替换等。而在底层,欧拉操作字体结合虚拟化运行时 StratoVirt、容器管理引擎 iSulad 构建了安全容器方案,较之传统的 Docker + Qemu 方案,其底噪和启动时间优化高达 40% 以上,为应用提供了一个轻量、安全的执行环境,隔离了容器和宿主机操作系统间、容器间的安全风险。
四大场景 & 五个统一
作为一款发轫于服务器领域的操作系统,欧拉在这个版本也正式支持了更多相关场景。按欧拉的话来说,就是四大场景:服务器、云计算、边缘计算和嵌入式。服务器和云计算这并不足为奇,而扩展到边缘计算和嵌入式领域,一方面是暗合了如今的计算潮流,另一方面,我认为,也和华为在边缘计算、嵌入式领域的传统优势有关。此外,作为专注于边缘计算和嵌入式等领域的鸿蒙,在这个领域和欧拉会师,我认为倒不是一种冲突,而是一种融合。
在四大场景的背后,欧拉宣称,他们做到了五个统一:统一内核、统一构建、统一 SDK、统一联接和统一开发工具。在社区开发过程中,欧拉把所有场景的所有组件的开发都归到了一个 openEuler 代码仓上,通过这种方式实现了任何场景都基于同一套代码。并且,欧拉操作系统通过 EulerMaker 项目提供了一套完整的构建和裁剪能力,这使得基于同一套代码构建的二进制,在面向不同的场景发布的时候,可以自如地进行构建和裁剪,最终形成适用于不同场景的镜像。
“功崇惟志,业广惟勤”
当然,能够在一套代码的基础上同时适应多种场景,这其中一定存在必要的取舍。“欧拉会针对各个场景对模块/特性进行裁剪”,让各个组件、模块在不同场景能发挥各自的作用。“但是欧拉不接受只针对特定场景的定制开发,而且如果对整体架构形成冲击的话,是不会纳入到代码仓的,”他说,“欧拉会设计好这样的一套架构,使得不同组件在不同的架构下代码是归一的,通过裁剪工具,可以面向不同场景构建,并且差异化是可控的。”
在边缘计算方面,openEuler 22.03 LTS Edge 支持 KubeEdge + 边云协同框架,具备边云 应用统一管理和发放等基础能力。
而对于嵌入式领域,其镜像大小 < 5M,启动时间 < 5S,其基于 Linux 5.10 内核提供了软实时能力,中断响应时延达到看微秒级。它还支持树莓派作为嵌入式场景通用硬件。所集成的鸿蒙分布式软总线,可以实现欧拉嵌入式设备之间互联互通。
除此之外,欧拉操作系统中还有很多值得一书的改进特性,只是限于 篇幅,我们无法一一道来,大家有兴趣的话,可以参考《欧拉操作系统 22.03 LTS 的技术白皮书》
- 点赞
- 收藏
- 关注作者
评论(0)