linux零拷贝相关资料(待浏览学习)

零拷贝技术相关:

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

×

喜欢就点赞,疼爱就打赏