01 openEuler操作系统介绍

news2024/11/26 16:41:18

文章目录

  • 01 openEuler操作系统介绍
    • 1.1 发布件
    • 1.2 最小硬件要求
    • 1.3 硬件兼容性
    • 1.4 关键特性
      • 1.4.1 openEuler 22.03-LTS基于 Linux Kernel 5.10 内核构建, 在进程调度、内存管理等方面带来10余处创新
      • 1.4.2 新介质文件系统
      • 1.4.3 内存分级扩展
      • 1.4.4 用户态协议栈
      • 1.4.5 云原生调度增强
      • 1.4.6 QEMU热补丁机制
      • 1.4.7 KubeOS
      • 1.4.8 轻量安全容器增强
      • 1.4.9 iSulad增强
      • 1.4.10 eggo支持容器管理双平面部署
      • 1.4.11 边缘计算
      • 1.4.12 嵌入式镜像
      • 1.4.13 secPaver
      • 1.4.14 NestOS
      • 1.4.15 更多的第三方应用支持
      • 1.4.16 更多桌面环境的支持
    • 1.5 openEuler操作系统版本分类及其命名方式
      • 1.5.1 创新版
      • 1.5.2 稳定版(LTS)
      • 1.5.3 命名方式

01 openEuler操作系统介绍

openEuler是一款开源操作系统。当前openEuler内核源于Linux,支持鲲鹏及其它多种处理器,能够充分释放计算芯片的潜能,是由全球开源贡献者构建的高效、稳定、安全的开源操作系统,适用于数据库、大数据、云计算、人工智能等应用场景。同时,openEuler是一个面向全球的操作系统开源社区,通过社区合作,打造创新平台,构建支持多处理器架构、统一和开放的操作系统,推动软硬件应用生态繁荣发展。

openEuler的前身是运行在华为公司通用服务器上的操作系统EulerOS。EulerOS是一款基于Linux内核(目前是基于Linux 5.10版本的内核)的开源操作系统,支持X86和ARM等多种处理器架构,伴随着华为公司鲲鹏芯片的研发,EulerOS理所当然地成为与鲲鹏芯片配套的软件基础设施。

1.1 发布件

openEuler发布件包括ISO发布包、虚拟机镜像、容器镜像、嵌入式镜像和repo源。

表 1 发布ISO列表

名称描述
openEuler-22.03-LTS-aarch64-dvd.isoAArch64架构的基础安装ISO,包含了运行最小系统的核心组件
openEuler-22.03-LTS-everything-aarch64-dvd.isoAArch64架构的全量安装ISO,包含了运行完整系统所需的全部组件
openEuler-22.03-LTS-everything-debug-aarch64-dvd.isoAArch64架构下openEuler的调试ISO,包含了调试所需的符号表信息
openEuler-22.03-LTS-x86_64-dvd.isox86_64架构的基础安装ISO,包含了运行最小系统的核心组件
openEuler-22.03-LTS-everything-x86_64-dvd.isox86_64架构的全量安装ISO,包含了运行完整系统所需的全部组件
openEuler-22.03-LTS-everything-debuginfo-x86_64-dvd.isox86_64架构下openEuler的调试ISO,包含了调试所需的符号表信息
openEuler-22.03-LTS-source-dvd.isoopenEuler源码ISO
openEuler-22.03-LTS-edge-aarch64-dvd.isoAArch64架构的边缘ISO,包含了运行最小系统的核心组件
openEuler-22.03-LTS-edge-x86_64-dvd.isox86_64架构的边缘ISO,包含了运行最小系统的核心组件

表 2 虚拟机镜像

名称描述
openEuler-22.03-LTS-aarch64.qcow2.xzAArch64架构下openEuler虚拟机镜像
openEuler-22.03-LTS-x86_64.qcow2.xzx86_64架构下openEuler虚拟机镜像

img 说明:
虚拟机镜像root用户默认密码为:openEuler12#$,首次登录后请及时修改。

表 3 容器镜像列表

名称描述
openEuler-docker.aarch64.tar.xzAArch64架构下openEuler容器镜像
openEuler-docker.x86_64.tar.xzx86_64架构下openEuler容器镜像

表 4 嵌入式镜像列表

名称描述
arm64/aarch64-std/zImageaarch64架构下支持qemu的内核镜像
arm64/aarch64-std/*toolchain-22.03.shaarch64架构下对应的开发编译链
arm64/aarch64-std/*rootfs.cpio.gzaarch64架构下支持qemu的文件系统
arm32/arm-std/zImagearm架构下支持qemu的内核镜像
arm32/arm-std/*toolchain-22.03.sharm架构下对应的开发编译链
arm32/arm-std/*rootfs.cpio.gzarm架构下支持qemu的文件系统
source-list/manifest.xml构建使用的源码清单

表 5 repo源列表

目录描述
ISO存放ISO镜像
OS存放基础软件包源
debuginfo存放调试包源
docker_img存放容器镜像
virtual_machine_img存放虚拟机镜像
embedded_img存放嵌入式镜像
everything存放全量软件包源
extras存放扩展软件包源
source存放源码软件源
update存放升级软件包源
EPOL存放openEuler扩展包

1.2 最小硬件要求

安装 openEuler 22.03-LTS 所需的最小硬件要求如表6所示。

表 6 最小硬件要求

部件名称最小硬件要求
CPU鲲鹏 920(架构为AArch64)x86-64(Skylake以上)
内存不小于8GB
硬盘不小于120GB

1.3 硬件兼容性

openEuler已验证支持的服务器和各部件典型配置请参见表7。openEuler后续将逐步增加对其他服务器的支持,也欢迎广大合作伙伴/开发者参与贡献和验证。openEuler当前支持的服务器可见兼容列表

表 7 支持的服务器及典型配置

厂商服务器名称服务器具体型号部件名称典型配置
华为TaiShan 2002280均衡型CPUKunpeng 920
内存32G*4 2933MHz
RAID卡LSI SAS3508
网络SF221Q
华为FusionServer Pro2288H V5(机架服务器)CPUIntel® Xeon® Gold 5118 CPU @ 2.30GHz
内存32*4 2400MHz
RAID卡LSI SAS3508
网络X722

1.4 关键特性

1.4.1 openEuler 22.03-LTS基于 Linux Kernel 5.10 内核构建, 在进程调度、内存管理等方面带来10余处创新

深度优化调度、IO、内存管理,提供Arm64、x86、RISC-V等更多算力支持。

  • 内核动态抢占,新增启动选项preempt=none/voluntary/full,允许内核动态切换抢占模式。
  • mremap性能优化,通过移动 PMD/PUD 级别的表项,加速映射大块内存的速度。
  • per memcg lru lock,采用per memcg lru_lock,减少云原生容器实例锁竞争,提升系统性能。
  • 大页内存管理优化,通过共享映射方式将HugeTLB管理页中无实际作用的tail页释放掉,从而降低管理结构的开销,降低大页管理自身内存占用。
  • TLB并发刷新支持,本地TLB和远端TLB刷新并行,优化TLB shootdown流程加速TLB刷新,提升业务性能。
  • 大页vmalloc性能优化,对于超过huge page的最小size的空间进行vmalloc()分配时,将会尝试使用 huge page 而不是 base page来映射内存,可以大大改善 TLB 的利用,降低TLB miss。
  • UCE容错, 系统运行时,内核态触发硬件内存错误的处理方式是无差别的内核panic,基于分析,部分场景的影响仅仅是用户态进程的运行受到影响,我们可以通过杀死用户态进程并隔离出错页面,而不必通过系统panic来处理内存错误。基于此思路,针对uaccess场景(copy_{from, to}_user, {get, put}_user)、cow场景、coredump场景提供解决方案,避免此情况下的系统复位,提升系统可靠性。

1.4.2 新介质文件系统

  • Eulerfs,Eulerfs创新元数据软更新技术(Soft Update),基于指针的目录双视图计数机制,减少元数据同步开销,有效提升文件系统create、unlink、mkdir、rmdir系统调用性能。

1.4.3 内存分级扩展

支持多种内存、存储介质扩展系统内存容量,降低内存使用成本。新增用户态交换支持。

  • 用户态交换(新增),通过etMem的策略配置,对于淘汰的冷内存,通过用户态swap功能交换到用户态存储中,达到用户无感知,性能优于内核态swap。

1.4.4 用户态协议栈

新增gazelle用户态协议栈,无需应用程序修改和重新编译,即可使用,支撑上层业务获得高性能、低时延的网络传输

  • gazelle 用户态协议栈,基于dpdk和lwip,实现支持无锁、多线程的高性能用户态协议栈,加速应用程序的网络性能,无需修改适配和重新编译,即可使用。

1.4.5 云原生调度增强

在云业务场景中,交互类延时敏感在线业务存在潮汐现象,CPU资源利用率普遍较低(不足15%),在线和离线业务混合部署是提升资源利用率的有效方式。现有的内核资源分配和管理机制。

  • QAS(Quality aware scheduler),可以确保在线任务对CPU的快速抢占,确定性的调度运行,同时压制离线任务干扰。
  • OOM回收支持优先级,优化OOM时内存回收调度算法,在发生OOM时,优先对低优先级的进程组进行内存回收,保障在线业务的正常运行。
  • 容器混合部署框架,对k8s集群下的混合部署,openEuler用户仅需给业务打上在线或离线的标签,系统即能自动感知业务的创建,并根据业务优先级配置,实现资源的隔离和抢占。

1.4.6 QEMU热补丁机制

  • 支持libcareplus热补丁机制,提供一种在线修复进程bug的技术,使得QEMU进程能够在不影响虚机业务的情况下,在线解决QEMU进程bug。

1.4.7 KubeOS

容器化操作系统KubeOS,实现云原生集群OS的统一容器化管理。

  • OS容器化管理,对接K8S容器和OS统一管理,原子化的生命周期管理。
  • OS轻量化裁剪,减少不必要的冗余包,可实现快速升级、替换等。

1.4.8 轻量安全容器增强

基于Stratovirt轻量虚拟化技术,实现容器级别的低负载和虚拟机高安全。

  • 支持UEFI启动,支持UEFI启动、ACPI表的构建以及为虚拟机添加包括virtio-pci在内的PCIe/PCI设备。
  • 支持VFIO,提供将host上物理设备直通给虚拟机的能力,使虚拟机获得接近裸设备的高性能。
  • 支持直通设备热插拔,支持virtio-blk-pci、virtio-net-pci和VFIO等设备的热插拔,有效避免更换外设引起的系统停机和业务中断。

1.4.9 iSulad增强

  • shimv2,shimv2 收编了 kata-runtime,kata-shim, kata-proxy进程,通过加载⼀次运⾏时并通过 RPC 调⽤来处理各种容器,⽣命周期管理命令来简化体系结构,不必为每个容器⼀直运⾏⼀个容器运⾏时

1.4.10 eggo支持容器管理双平面部署

eggo是openEuler云原生Sig组K8S集群部署管理项目,提供高效稳定的集群部署的能力。

  • 集群配置版本化管理,配置统一Git repo版本化管理,使用仓库汇总和跟踪集群的配置信息。
  • X86/ARM双平面,实现OS双平面集群化部署、监控、审计等场景。

1.4.11 边缘计算

提供跨边云的协同框架(KubeEdge+),实现边云之间的应用管理与部署、跨边云通讯等基础能力。

  • 管理协同,实现单集群设备统一管理,应用秒级发放。
  • 网络协同,支持跨边云双向通信,私有子网中的边缘节点通信。
  • 边缘自治,支持边缘自治,确保网络不稳定状态,边缘节点正常工作,支持边缘节点元数据持久化和快速恢复。
  • 边缘轻量化,内存占用少,可在资源受限情况下工作。

1.4.12 嵌入式镜像

  • 轻量化能力,开放yocto小型化构建裁剪框架,支撑OS镜像轻量化定制,提供OS镜像 < 5M,以及<5S快速启动等能力。
  • 多硬件支持,新增支持树莓派4B作为嵌入式场景通用硬件。
  • 软实时内核,基于linux5.10内核提供软实时能力,软实时中断响应时延微秒级。
  • 混合关键性部署,实现soc内实时和非实时多平面混合部署,并支持zephyr实时内核。
  • 分布式软总线基础能力,集成鸿蒙的分布式软总线,实现欧拉嵌入式设备之间互联互通。
  • 嵌入式软件包支持,新增80+嵌入式领域常用软件包的构建。

1.4.13 secPaver

secPaver是一款SELinux安全策略开发工具,用于辅助开发人员为应用程序开发安全策略。

  • 策略管理,提供高阶配置语言,根据策略配置文件内容生成SELinux策略文件,降低SElinux使用门槛。

1.4.14 NestOS

NestOS是一款在openEuler社区CloudNative sig组孵化的云底座操作系统,专注于提供最佳的容器主机,大规模安全的运行容器化工作负载。

  • 开箱即用的容器平台,搭载了iSulad、docker、podman 、cri-o等主流容器基础平台。
  • 简单易用的安装配置过程,采用了Ignition技术,提供个性化配置。
  • 安全可靠的包管理方式,使用rpm-ostree进行包管理。
  • 友好可控的自动更新代理,采用zincati实现无感升级。
  • 紧密配合的双系统分区,双系统分区设计确保系统安全。

1.4.15 更多的第三方应用支持

  • KubeSphere,KubeSphere 是在 Kubernetes 之上构建的以应用为中心的容器平台,完全开源,由青云科技发起,并由 openEuler 社区 SIG-KubeSphere 提供支持和维护。
  • OpenStack Wallaby,OpenStack版本更新到Wallaby。Wallaby是2021年4月份发布的最新稳定版本,包含nova、kolla、cyborg、tacker等核心项目的重要更新。
  • OpenResty,基于 Nginx 与 Lua 的高性能 Web 平台。

1.4.16 更多桌面环境的支持

提供更多的开发桌面选择,更好的开发体验。

  • DDE版本升级,新增支持画板、音乐和影院应用。
  • UKUI版本升级,新增中文输入法和多媒体支持。
  • kiran-desktop ,支持麒麟信安桌面系统。
  • GNOME,支持GNOME桌面系统。

1.5 openEuler操作系统版本分类及其命名方式

1.5.1 创新版

  • 支持Linux技术爱好者进行技术创新
  • 通常半年发布一个版本

1.5.2 稳定版(LTS)

  • 生命周期为两年

1.5.3 命名方式

  • 创新版openEuler采用”openEuler+年月“的命名方式,如openEuler 22.03。
  • 稳定版采用”openEuler+LTS+年月+【SPx】“的命名方式,如openEuler LTS 22.03、openEuler LTS 22.03 SP1。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/778405.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【人工智能】深度优先搜索、代价一致搜索、深度有限搜索、迭代深度优先搜索、图搜索

【人工智能】无信息搜索—BFS 、代价一致、DFS、深度受限、迭代深入深度优先、图搜索 什么是搜索 搜索问题是指既不能通过数学建模解决,又没有其他算法可以套用或者非遍历所有情况才能得出正确结果。这时就需要采用搜索算法来解决问题。搜索就是一种通过穷举所有解的状态,来…

【车载开发系列】AUTOSAR DemDTCAttributes

【车载开发系列】AUTOSAR DemDTCAttributes 【车载开发系列】AUTOSAR DemDTCAttributes 【车载开发系列】AUTOSAR DemDTCAttributes一. DemDTCAttributes概念二. DemAgingCycleCounterThreshold三. DemAgingAllowed四. DemDTCPriority五. DemImmediateNvStorage六. DemMaxNumbe…

BatchNorm, LayerNorm, InstanceNorm和GroupNorm

1. 介绍 Batch Norm: 对NHW计算归一化参数(均值和方差)&#xff0c;总共得到C组归一化参数, 相当于对每个channel进行归一化。BN主要缺点是对batchsize的大小比较敏感&#xff0c;由于每次计算均值和方差是在一个batch上&#xff0c;所以如果batchsize太小&#xff0c;则计算的…

idea2021.安装pojie教程

1、下载ideaIU-2021.3应用包&#xff0c;点击finish 2、先关闭idea窗口&#xff0c;等会激活了脚本再运行打开。 3、双击运行install-current-user.vbs&#xff0c;等待一会会提示运行成功。 4、运行后&#xff0c;在文件中会多出一条配置 5、打开运行idea,输入激活码&#x…

iPhone 开机停留在苹果logo画面(已解决)

一、问题 如下图&#xff0c;开不了机&#xff1a; 标题 二、根因 存储空间满了。 三、解决方法 方法一 用苹果数据线&#xff08;最好是原装&#xff09;连接Mac电脑&#xff0c;在装有 macOS Catalina 10.15 或更高版本的 Mac 上&#xff0c;打开“访达”。在装有 macOS…

Vue-组件高级(上)

一、目标 能够掌握watch侦听器的基本使用能够知道vue中常用的生命周期函数能够知道如何实现组件之间的数据共享能够知道如何在vue3.x的项目中全局配置axios 二、目录 watch侦听器 1.什么是watch侦听器 watch侦听器允许开发之监视数据的变化&#xff0c;从而针对数据的变化做…

什么小程序需要商家自营相关类目?

1、百货&#xff1a;小程序主体公司综合零售商&#xff0c;在线售卖多种日用品&#xff0c;需补充商家自营-百货类目。预包装食品定义&#xff1a; 预包装食品&#xff0c;指预先定量包装或者制作在包装材料和容器中的食品&#xff1b;包括预先定量包装以及预先定量制作在包装…

微信小程序中如何携带参数跳转到tabBar页面

在小程序中使用了tabBar组件之后就不能用wx.navigateTo跳转到tabBar页面了 , 能跳转到tabBar页面的方法有以下两种 但是使用第一种方法时,会因为这种方法在路径后不能携带参数,所以行不通 那么就只能用第二种方法 , 用wx.reLaunch进行跳转 , 地址后跟上自己想要的参数 , 或者用…

使用Vue+elementUI实现CRUD

文章目录 前言一、简介二、使用Vue-Cli搭建Vue项目1. vue-cli 介绍2.axios.js 介绍3.Element-Ul 介绍4.moment.js 介绍5.搭建项目6.添加main.js配置7.修改App.vue8. 将moment.js 格式 Date 类型引入9. 加入分页10. 实现删除11. 实现添加12. 实现修改 总结 前言 最近了解了一下…

Qt 模态 非模态对话框 半模态 不阻塞对话框

Part1&#xff1a; 什么是模态和非模态对话框 对话框分为模态对话框和非模态对话框。 所谓模态对话框 所谓模态对话框&#xff0c;会阻塞同一应用程序中其它窗口的输入。同时会阻塞当前线程&#xff1b;程序不再下执行&#xff1b; 关闭 窗口&#xff0c;执行下面的代码&a…

从Nginx学习如何获取时间

最近因为工作接触到Nginx的学习&#xff0c;我就把Nginx的源代码下载下来&#xff0c;然后对其进行了分析。发现Nginx的性能强大离不开作者编码的苦心&#xff0c;作者将C的性能发挥到了极致&#xff0c;每个变量都用得非常出神入化。有如此强大的功能&#xff0c;才支撑了全球…

React:从 npx开始

使用 npm 来创建第一个 recat 文件&#xff08; react-demo 是文件名&#xff0c;可以自定义&#xff09; npx create-react-app react-demo npx是 npm v5.2 版本新添加的命令&#xff0c;用来简化 npm 中工具包的使用 原始&#xff1a; 全局安装npm i -g create-react-app 2 …

格式工厂5.10.0版本安装

目前格式工厂有很多&#xff0c;大多都可以进行视频转换 之前遇到一个用ffmpeg拉流保存的MP4在vlc和迅雷都无法正常播放的问题&#xff0c;发现视频长度不对&#xff0c;声音也不对&#xff0c;最后换到了格式工厂的格式播放器是可以正常播放的 格式工厂下载之家的地址 http…

【历史上的今天】7 月 20 日:人类登上月球;数据仓库之父诞生;Mac OS X Lion 发布

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2023 年 7 月 20 日&#xff0c;在 2005 年的今天&#xff0c;时任微软全球副总裁的李开复加盟谷歌担任谷歌全球副总裁及中国区总裁。谷歌公司在发布聘请李开复消息的同…

ffplay播放器剖析(5)----视频输出剖析

文章目录 1.视频输出模块1.1 视频输出初始化1.1.1 视频输出初始化主要流程1.1.2 calculate_display_rect初始化显示窗口大小 1.2 视频输出逻辑1.2.1 event_loop开始处理SDL事件1.2.2 video_refresh1.2.2.1 计算上一帧显示时长,判断是否还要继续上一帧1.2.2.2 估算当前帧显示时长…

数据结构——(一)绪论

&#x1f449;数据元素整体思维导图 欢迎补充 一、基本概念❤️ 1.1基本术语⭐️ &#xff08;1&#xff09;数据 客观事务属性的数字、字符。 &#xff08;2&#xff09;数据元素 数据元素是数据的基本单位&#xff0c;一个数据元素可由若干数据项组成&#xff0c;数据项是…

【测试开发】Python+Django实现接口测试工具

PythonDjango接口自动化 引言&#xff1a; 最近被几个公司实习生整自闭了&#xff0c;没有基础&#xff0c;想学自动化又不知道怎么去学&#xff0c;没有方向没有头绪&#xff0c;说白了其实就是学习过程中没有成就感&#xff0c;所以学不下去。出于各种花里胡哨的原因&#xf…

C语言第七课----------函数的定义及使用--------C语言重要一笔

作者前言 个人主页::小小页面 gitee页面:秦大大 一个爱分享的小博主 欢迎小可爱们前来借鉴 __________________________________________________________ 目录 1.函数是什么 2. 库函数 3. 自定义函数 4. 函数参数 5. 函数调用 6. 函数的嵌套调用和链式访问 7. 函数的声…

《向量数据库指南》:使用公共的Pinecone数据集

目录 数据集包含向量和元数据 列出公共数据集 加载数据集 迭代数据集 分批迭代文档并插入到索引中。 将数据集插入为数据帧。 接下来怎么做 本文档介绍如何使用现有的Pinecone数据集。 要了解创建和列出数据集的方法,请参阅创建数据集。 数据集包含向量和元数据 P…

C++的对象优化经验

先看一个例子&#xff1a; class Test{ private:int ma;public:Test(int a 0) : ma(a) { cout << "Test(int a)" << endl; }~Test() { cout << "~Test" << endl; }Test(const Test &t){ma t.ma;cout << "Test(c…