首页 >>  正文

linux内核源码详解pdf

来源:baiyundou.net   日期:2024-09-24

IT之家 4 月 2 日消息,3 月 31 日,开源欧拉 openEuler 23.03 创新版本正式发布,版本代码总计 7.3 亿行,相比 openEuler 22.09,新增代码 5500 万行。

新增代码主要集中在服务网格数据面 Kmesh 加速、openGemini 时序数据库、iSulad 支持镜像 RO 数据管理目录拆分等技术创新和基础软件包升级,其中内核原创代码新增 3 万行,主要集中 Linux 6.1 内核的调度系统、内存管理系统优化等新特性。

openEuler 23.03 采用 Linux Kernel 6.1 内核,为未来 openEuler 长生命周期版本采用 6.x 内核提前进行技术探索,也方便开发者进行硬件适配、基础技术创新和上层应用创新。openEuler 23.03 目前支持 X86、Arm 和树莓派等主流的芯片架构和硬件。

openEuler 内核集成了 Linux Kernel 6.1 的众多新特性,包括:调度子系统支持 CFS burstable 带宽控制器,改进 SCHED_IDLE 调度策略,优化 NUMA 负载均衡等,以改善系统的延迟和批处理性能;改进内存管理子系统,引入新算法,用于识别 NUMA 节点中冷热页,以便优化系统冷热页的分布,提升访存效率,改善系统性能;优化 XFS 日志同步机制、缓冲区缓存的无锁查找机制、异步缓冲写入机制等,大幅提升 XFS 的性能与扩展性;在内核易用性上,支持 BPF 程序一次编译,到处运行,解决 BPF 程序移植难的问题;PSI 机制提供了系统中资源使用的详细视图,新内核增加了对 per-cgroup PSI、IRQ / SoftIRQ PSI 的支持和优化,帮助业务对系统资源使用做更准确评估,用以改善和优化资源调度策略。

GCC 插件模块支持 LTO 复杂优化插件,新增 14 类 GIMPLE 支持,实现 GIMPLE 覆盖率从 26% 提升到 80%,大幅扩展 GCC 插件支持范围,帮助开发者针对不同硬件平台开发高效优化插件,充分发挥 openEuler 多样性算力。

secGear 机密计算框架支持鲲鹏 TEE 高级接口,通过屏蔽底层远程证明、密钥协商能力,支撑机密计算构建数据端到端的保护能力,实现高斯全密态数据库场景中用户密钥的全生命周期安全。

NFS 客户端多路径特性支持单个 NFS 挂载点使用多个 IP 进行访问,通过提出单个挂载点下客户端和服务端之间建立多条链路,支持 IO 在多条链路中进行传输,进而提升单个挂载点性能,同时周期性检测链路状态信息,支持链路故障 IO 快速切换。

openEuler 是面向数字基础设施的全场景开源操作系统,支持服务器、云计算、边缘、嵌入式四大场景,持续致力于场景协同创新。

在嵌入式场景,来自中科院软件所和华为的开发者在 openEuler 23.03 中引入 Mate-ROS,完整支持 ROS2 核心包和相关依赖,目前 openEuler 已具备最小机器人系统集合,可以支持 SLAM 场景的导航应用;来自粤港澳大湾区(广东)国创中心的开发者实现了 openEuler+UniProton @Hi3093、openEuler+RT-Thread@RK3568j 混合关键部署;来自成都菁蓉的开发者为 openEuler Embedded 引入 JailHouse,实现嵌入式虚拟化功能,混合关键部署支持外设分区管理;

在云原生场景,新增基于可编程内核构建的高性能服务网格数据面 Kmesh,服务间通信性能提升 5 倍,即时通讯类业务时延降低 1 倍。iSulad 支持镜像 RO 数据管理目录拆分,有利于用户对容器和镜像数据的灵活管理,为镜像数据分部署共享提供技术可能性。

新增对 openGemini 时序数据库的支持,通过 MPP 大规模并行处理分层架构,支持水平扩展,以应对海量时序数据给数据库带来性能和存储成本的巨大挑战,未来将与 openEuler 深度结合,打造面向物联网 & 运维监控打造数据存储分析一体化平台。

在分布式协同场景,分布式软总线新增传输文件和流接口,引入 nstack 和 fillp 协议,在一些不稳定网络等典型场景中明显提升数据传输效率。

openEuler 23.03 版本共有 908 名开发者、800 多家厂商参与贡献,IT之家汇总主要企业贡献如下:

","gnid":"97c655ff7fc85dc11","img_data":[{"flag":2,"img":[{"desc":"","height":"899","title":"","url":"https://p0.ssl.img.360kuai.com/t01b031342705fb6593.jpg","width":"800"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"cache","pub_time":1680403206000,"pure":"","rawurl":"http://zm.news.so.com/c00b89bc11fafb449c3e1c2fae96c522","redirect":0,"rptid":"4002757ae503ea5f","rss_ext":[],"s":"t","src":"IT之家","tag":[{"clk":"ktechnology_1:linux","k":"linux","u":""}],"title":"开源欧拉 openEuler 23.03 发布,采用 Linux Kernel 6.1 内核

云顺沿1162求Linux内核代码分析!有点不懂
严路雪15847296885 ______ 这么简单还用问?解析 :前面是个空值,即:若pos不为空,则pos为其自身.等效于:(pos)?(pos):list_entry(head,typeof(*pos),member)注意内核格式::前后都加了空格.

云顺沿1162Linux是开源的,那么如何查看源代码 -
严路雪15847296885 ______ Linux的内核源代码可以从很多途径得到.一般来讲,在安装的linux系统下,/usr/src/linux目录下的东西就是内核源代码.

云顺沿1162Linux的内核代码如何编译 -
严路雪15847296885 ______ 1、安装内核 如果内核已经安装(/usr/src/目录有linux子目录),跳过 如果没有安装,在光驱中放入linux安装光盘,找到kernel-source-2.xx.xx.rpm文件(xx代表数字,表示内核的版本号),比如RedHat linux的RPMS目录是/RedHat/RPMS/目录,...

云顺沿1162在Ubuntu上做内核编程,要安装哪个包?怎么做?
严路雪15847296885 ______ 1、gcc (C编译器) 安装 apt-get install gcc 2、make (源代码维护工具,它能自动检测出需要重新编译的源文件并根据你设定的编译规则去重新编译程序) 安装 apt-get install make 3.kernel-source (内核源码包.你可以apt-cache search kernel-...

云顺沿1162如何定制自己的linux内核 -
严路雪15847296885 ______ 一 前言 为什么要编译自己的内核?这可能会有各种不同的答案,列举如下: 1 为了研究,学习内核源码. 2 为了支持新的硬件或者打开某项内核功能. 3 升级内核到更新版本. 4 按自己的要求定制和优化内核功能. 如此种种... 折腾不需要理由...

云顺沿1162如何修改linux内核源码并调试 -
严路雪15847296885 ______ 将修改的代码添加进内核树,然后修改makefile和config文件,从新编译.

云顺沿1162Linux操作系统内核引导参数有哪些?
严路雪15847296885 ______ 内核引导参数大体上可以分为两类:一类与设备无关、另一类与设备有关.内核源码树下的 Documentation/kernel-parameters.txt 文件列出了所有可用的引导参数,并指...

云顺沿1162Linux内核编译配置过程是什么?
严路雪15847296885 ______ 操作系统:Ubuntu 10.04 步骤: 1 下载所需的内核包,解压到/usr/src/下; 2 cd到内核源码根目录下,运行make mrproper,清理上次编译的结果文件以及配置文件;[可...

云顺沿1162如何编译一个linux下的驱动模块 -
严路雪15847296885 ______ 本文记录我的第一个Linux设备驱动程序的编译过程.遇到问题的解决方法. 环境:2.4.18-14的内核,Linux内核源码:2.4.18. Linux内核源码路径:/usr/src/linux(这个源码是从kernel.org网站download的2.4.18版本) 按照《linux设备驱动开发...

云顺沿1162Linux系统下源代码编译方式安装软件的大致步骤 -
严路雪15847296885 ______ 1、解包软件 tar zxf xxxx.tgz2、配置 cd xxx ./configure ....3、编译 make4、安装与卸载 make install make uninstall5、清理 make clean

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024