零拷贝技术相关:
0. 深入浅出Linux-零拷贝技术sendfile
0.1. 传统IO的原理
0.2. 传统IO的缺点
1. 为什么需要零拷贝技术?
2. 什么是零拷贝技术?
零拷贝技术分类
Linux 中的零拷贝技术主要有下面这几种:
2.1 direct I/O
2.2 mmap
2.3 sendfile
2.4 splice
3. sendfile实现零拷贝的原理
4. 带有 DMA 收集拷贝功能的 sendfile
5. 总结
上述的两种几种I/O操作对比:
5.1. 传统I/O
硬盘—>内核缓冲区—>用户缓冲区—>内核socket缓冲区—>协议引擎
5.2. sendfile
硬盘—>内核缓冲区—>内核socket缓冲区—>协议引擎
5.3. sendfile( DMA 收集拷贝)
硬盘—>内核缓冲区—>协议引擎
6. 参考资料
6.1 sendfile:Linux中的”零拷贝”
什么是”零拷贝”
Sendfile
展望
结论
6.2. 零拷贝与 sendfile
一、什么是“零拷贝”
sendfile
6.3. 深度分析mmap:是什么 为什么 怎么用 性能总结
mmap基础概念
mmap内存映射原理
mmap和常规文件操作的区别
mmap优点总结
mmap相关函数
mmap使用细节
性能总结
6.4. 浅析Linux中的零拷贝技术
什么是零拷贝技术
让数据传输不需要经过user space
使用mmap#####
避免问题:文件被另一个进程truncate时, write系统调用会因访问非法地址而被SIGBUS信号终止;(SIGBUS信号:访问了已关闭的文件的内存缓存)
1).为SIGBUS信号建立信号处理程序
2). 使用文件租借锁
使用sendfile##### 从2.1版内核开始,Linux引入了sendfile来简化操作:
使用splice#####
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 hi@niewj.com