- 2
- 0
- 约1.36万字
- 约 13页
- 2018-08-23 发布于江苏
- 举报
Linux 中的零拷贝技术,第 2 部分
Linux 中的直接 I/O
如果应用程序可以直接访问网络接口存储,那么在应用程序访问数据之前存储总线就不需要被遍历,数据传输所引起的开销将会是最小的。应用程序或者运行在用户模式下的库函数可以直接访问硬件设备的存储,操作系统内核除了进行必要的虚拟存储配置工作之外,不参与数据传输过程中的其它任何事情。直接 I/O 使得数据可以直接在应用程序和外围设备之间进行传输,完全不需要操作系统内核页缓存的支持。关于直接 I/O 技术的具体实现细节可以参看 developerWorks 上的另一篇文章”Linux 中直接 I/O 机制的介绍” ,本文不做过多描述。
图 1. 使用直接 I/O 的数据传输?
针对数据传输不需要经过应用程序地址空间的零拷贝技术
利用 mmap()
在 Linux 中,减少拷贝次数的一种方法是调用 mmap() 来代替调用 read,比如:
tmp_buf = mmap(file, len);
write(socket, tmp_buf, len);
首先,应用程序调用了 mmap() 之后,数据会先通过 DMA 拷贝到操作系统内核的缓冲区中去。接着,应用程序跟操作系统共享这个缓冲区,这样,操作系统内核和应用程序存储空间就不需要再进行任何的数据拷贝操作。应用程序调用了 write() 之后,操作系统内核将数据从原来的内核缓冲区中拷贝到与 socket 相
您可能关注的文档
- 西文经济学,第一节 经济学地研究对象.ppt
- 西文经济学,第一章 国民收入决定理论.ppt
- 西文字体设计基(翻译理论).doc
- 西文经济学,第六章 不同市场结构下地厂商均衡.ppt
- 西文图书机读著简明格1.doc
- 西文经济学,第章 分配理论.ppt
- 西方主流思想地演变.doc
- 西方人地隐私观.ppt修改.ppt
- 西方人文精神地发展与近代资本主义政体地确立.ppt
- 西文经济学,第章 均衡价格理论.ppt
- 专题11 第二次世界大战后:世界多元文明的竞争与发展(专项训练)(全国通用)(教师版).pdf
- 生物(浙江卷)(考试版).pdf
- 生物(浙江卷)(考试版A3).pdf
- 2026宠物门店系统怎么选?服务+商品+会员选择指南.docx
- 在2026年区委党的建设工作领导小组(扩大)会议上的讲话.docx
- 在XX县群众身边不正之风和腐败问题集中整治工作调度推进会上的讲话.docx
- 在2026年全县基层党建工作推进会暨党建引领基层治理工作会议上的讲话.docx
- 在XX市全市防汛抗旱工作会议上的讲话.docx
- 在2026年全区上半年党的建设工作会议上的讲话.docx
- 在2026年街道安全生产暨火灾防控工作会议上的讲话.docx
原创力文档

文档评论(0)