首页
›
Linux内核与驱动
›
139-Linux内核
›
《Linux内核io_uring异步IO框架开发实战》
VIP10
本课程属于:139-Linux内核
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Linux内核io_uring异步IO框架开发实战
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
io_uring概述
io_uring诞生的背景 · 与传统AIO/epoll的对比 · 核心设计思想(共享提交队列SQ与完成…
io
uring
02
环境搭建与内核编译
获取Linux内核源码 · 配置开启CONFIG_IO_URIN… · 编译与安装新内核
环境搭建
内核编译
03
liburing库入门
liburing的安装与编译 · 核心API概览(io_uring_q… · io_uring_get_sqe
liburing
库入门
04
第一个io_uring程序
初始化io_uring · 提交一个简单的read请求 · 等待完成
io
uring
05
SQE与CQE深度解析
struct io_uring_sq… · fd · off
SQE
CQE
06
提交与完成模型
单提交单等待模式 · 批量提交模式 · 使用io_uring_enter系统…
提交
完成模型
07
固定文件(Registered Files)
为什么需要固定文件 · io_uring_register… · 性能提升原理与实战
Registered
Files
08
固定缓冲区(Registered Buffers)
注册缓冲区池 · IORING_REGISTER_BU… · 减少内存映射开销
Registered
Buffers
09
链接操作(Linked Operations)
IO_LINK标志 · 链式提交与顺序执行 · 错误传播机制
Linked
Operations
10
超时操作(Timeout)
IORING_OP_TIMEOUT · 绝对超时与相对超时 · 超时链与取消
Timeout
超时操作
11
Poll模式与IORING_SETUP_IOPOLL
硬件轮询模式原理 · 适用场景(NVMe) · 配置与性能对比
Poll
IORING
12
内核侧轮询(Kernel Side Polling)
IORING_SETUP_SQPOL… · 内核线程自动提交 · 减少系统调用次数
Kernel
Side
13
多队列与IORING_SETUP_ATTACH_WQ
工作队列(Workqueue)绑定 · 多核扩展性 · 共享SQPOLL线程
IORING
SETUP
14
IORING_OP_READV与IORING_OP_WRITEV
分散/聚集IO · iovec数组的使用 · 与单缓冲区的性能差异
IORING
OP
15
IORING_OP_SENDMSG与IORING_OP_RECVMSG
网络IO的io_uring实现 · msg结构体填充 · TCP回显服务器实战
IORING
OP
16
IORING_OP_ACCEPT与IORING_OP_CONNECT
异步accept与connect · 全异步网络服务器框架搭建
IORING
OP
17
IORING_OP_OPENAT与IORING_OP_STATX
异步文件系统操作 · 路径解析与打开 · 减少VFS锁竞争
IORING
OP
18
IORING_OP_FALLOCATE与IORING_OP_FTRUNCATE
异步文件预分配与截断 · 数据库预分配场景
IORING
OP
19
IORING_OP_SPLICE与IORING_OP_TEE
零拷贝数据管道 · splice在两个fd之间传输 · tee实现多路分发
IORING
OP
20
IORING_OP_URING_CMD与固定命令
针对NVMe passthrough… · 自定义命令注册 · 硬件加速接口
IORING
OP
21
Completion EventFD与IORING_SETUP_COOP_TAS
EventFD通知机制 · 与epoll协同工作 · 减少IPI中断
Completion
EventFD
22
IORING_SETUP_DEFER_TASKRUN
延迟任务运行 · 单线程轮询模式 · 极致性能调优
IORING
SETUP
23
io_uring与内存管理
mmap映射SQ/CQ · 内核与用户态共享内存 · dma-buf集成
io
uring
24
io_uring与cgroup/namespace
IO控制组(blkio) · 容器环境下的io_uring限制 · 安全性考量
io
uring
25
io_uring性能调优
SQ/CQ深度选择 · 固定文件与缓冲区大小 · 轮询与中断模式权衡
io
uring
26
io_uring调试与错误处理
常见错误码(EINVAL · EBADF · EFAULT)
io
uring
27
io_uring在数据库中的应用
RocksDB集成案例 · WAL写入优化 · 异步刷盘与fsync
io
uring
28
io_uring在Web服务器中的应用
Nginx/OpenResty集成 · 静态文件发送 · 反向代理零拷贝
io
uring
29
io_uring在存储系统中的应用
SPDK对比 · 用户态NVMe驱动 · io_uring作为通用异步层
io
uring
30
io_uring未来演进与总结
IORING_OP_PROVIDE_… · 多缓冲区组 · 跨架构支持(ARM64)
io
uring
所属VIP或分类
同VIP:Linux内存管理核心:页表分配与MMU硬件协同
同VIP:Linux内核DMA引擎驱动开发与数据搬运优化
同VIP:Linux内核ftrace动态追踪与kprobe探针开发