wenchao1024
发布于

【开源分享】深挖 Linux 内核的新功能特性,以 io_uring, cgroup, ebpf, llvm 为代表,包含开源项目,代码案例,文章,视频,架构脑图等

1、io_uring

io_uring(以前称为aioring)是一个用于存储设备异步 I/O操作的Linux 内核系统调用接口,解决了与/或/等函数提供的类似接口的性能问题,用于对文件描述符访问的数据进行操作。

img

文档

img

开源项目

img

精选文章

img

视频

img

二、cgroup

cgroups,其名称源自控制组群(英语:control groups)的简写,是Linux内核的一个功能,用来限制、控制与分离一个进程组的资源(如CPU、内存、磁盘输入输出等)。

这个项目最早是由Google的工程师(主要是Paul Menage和Rohit Seth)在2006年发起,最早的名称为进程容器(process containers)。在2007年时,因为在Linux内核中,容器(container)这个名词有许多不同的意义,为避免混乱,被重命名为cgroup,并且被合并到2.6.24版的内核中。自那以后,又添加了很多功能。

img

文档

img

开源项目

img

文章

img

视频

img

三、ebpf——Linux 内核中顶级子模块

eBPF 是一项革命性的技术,起源于 Linux 内核,可以在操作系统内核中运行沙盒程序。它用于安全有效地扩展内核的功能,而无需更改内核源代码或加载内核模块。

从历史上看,由于内核具有监督和控制整个系统的特权,操作系统一直是实现可观察性、安全性和网络功能的理想场所。同时,操作系统内核由于其核心作用和对稳定性和安全性的高要求,难以演进。因此,与在操作系统之外实现的功能相比,操作系统级别的创新率传统上较低。

img

文档

img

开源项目

img

文章

img

视频

img

四、llvm

LLVM 项目是模块化和可重用的编译器和工具链技术的集合。尽管有它的名字,LLVM 与传统的虚拟机几乎没有关系。“LLVM”这个名字本身不是首字母缩写词;它是项目的全名。

LLVM 最初是伊利诺伊大学的一个研究项目,其目标是提供一种现代的、基于 SSA 的编译策略,能够支持任意编程语言的静态和动态编译。从那时起,LLVM 已经发展成为一个由多个子项目组成的伞形项目,其中许多子项目被各种 商业和开源项目用于生产,并被广泛用于学术研究。LLVM 项目中的代码根据 “Apache 2.0 License with LLVM exceptions”获得许可。

img

文档

img

img

img

img

LLVM命令指南

img

img

img

img

开源项目

img

文章

img

视频

img

以上所有资源内容,都整合到我的Github项目中了:https://github.com/0voice/kernel_new_features

目前项目还在不断完善当中,有需要的开发者,可以去下载学习。 记得给小弟一个Star,谢谢!

浏览 (191)
点赞 (1)
收藏
评论