第1章
零拷贝概述
什么是零拷贝 · 为什么需要零拷贝 · 在固件层的价值
核心概念入门
第2章
传统数据拷贝的痛点
用户态与内核态切换开销 · DMA与CPU拷贝对比 · 上下文切换代价
性能背景
第3章
固件层零拷贝基础
固件与操作系统关系 · 固件层内存管理特点 · 固件层DMA引擎
固件基础
第4章
MMU与IOMMU基础
MMU工作原理 · IOMMU工作原理 · 地址映射与转换
硬件内存管理
第5章
DMA引擎详解
DMA控制器架构 · DMA传输模式 · DMA描述符链
DMA核心
第6章
零拷贝核心技术
直接内存访问(DMA) · 缓冲区共享 · 页对齐与缓存一致性
技术缓存
第7章
Linux零拷贝机制
sendfile系统调用 · splice机制 · copy_from_user优化
Linux系统调用
第8章
固件层零拷贝设计原则
最小化数据移动 · 避免不必要拷贝 · 利用硬件加速
设计原则
第9章
零拷贝中的缓存一致性
Cache Coherence问题 · DMA与Cache同步 · 刷新策略
缓存同步
第10章
零拷贝中的内存屏障
内存屏障类型 · DMA与CPU同步 · 写屏障与读屏障
内存屏障并发
第11章
零拷贝中的原子操作
原子变量 · 原子操作API · 无锁数据结构
原子无锁
第12章
零拷贝中的内存池设计
固定大小内存池 · 伙伴系统 · slab分配器
内存池分配器
第13章
零拷贝中的环形缓冲区
Ring Buffer原理 · 生产者消费者模型 · 无锁环形队列
环形缓冲队列
第14章
零拷贝中的描述符环
描述符环结构 · 提交与回收 · 硬件与软件同步
描述符硬件
第15章
零拷贝中的分散/聚集I/O
Scatter-Gather列表 · SG DMA传输 · SG描述符
SG分散聚集
第16章
零拷贝中的页锁定
mlock机制 · 页锁定与DMA · 页锁定性能影响
页锁定内存
第17章
零拷贝中的大页支持
Huge Pages原理 · 透明大页 · 大页与DMA
大页性能
第18章
零拷贝中的内存映射
mmap机制 · DMA-BUF · ION内存管理器
mmapDMA-BUF
第19章
零拷贝中的共享内存
共享内存原理 · 多核共享 · 核间通信
共享内存多核
第20章
零拷贝中的中断优化
中断合并 · MSI-X中断 · 中断负载均衡
中断优化
第21章
零拷贝中的轮询模式
Polling vs Interrupt · NAPI机制 · 忙等待优化
轮询NAPI
第22章
零拷贝中的批处理
批量提交描述符 · 批量回收缓冲区 · 批量处理中断
批处理吞吐
第23章
零拷贝中的流水线设计
流水线阶段划分 · 数据依赖处理 · 深度优化
流水线架构
第24章
零拷贝中的性能分析
Profiling工具 · 性能计数器 · 瓶颈定位
性能分析
第25章
零拷贝中的调试技巧
调试工具 · 日志策略 · 常见问题排查
调试技巧
第26章
零拷贝中的安全性
缓冲区溢出防护 · 权限控制 · 数据隔离
安全防护
第27章
零拷贝中的可移植性
硬件抽象层设计 · 平台适配 · 驱动接口标准化
可移植HAL
第28章
零拷贝在存储场景的应用
NVMe驱动优化 · 块设备层零拷贝 · 文件系统零拷贝
存储NVMe
第29章
零拷贝在网络场景的应用
网卡驱动优化 · 协议栈零拷贝 · RDMA技术
网络RDMA
第30章
零拷贝在多媒体场景的应用
摄像头驱动优化 · 显示控制器 · GPU零拷贝
多媒体GPU