zero-copy

image.png
  • 黑色
    硬盘 -> kernel(buffer) -> user -> kernel (socket buffer) -> 网络设备

  • 蓝色:系统内核Linux2.1
    硬盘 -> kernel(buffer) -> kernel (socket buffer) -> 网络设备

  • 红色:系统内核Linux2.4
    硬盘 -> kernel(buffer) -> 网络设备

不经过kernel socket buffer ,但是kernel socket buffer 记录kernel(buffer)的位移。通过sendfile(Linux2.4 )调用完成。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载:原文链接 考虑这样一种常用的情形:你需要将静态内容(类似图片、文件)展示给用户。那么这个情形就意味着你需要先...
    SnailFast阅读 3,613评论 0 2
  •   本文专门解释关于高性能IO的基层技术,关于zero-copy,mmap,direct-memory,这些都是L...
    Skymiles阅读 10,046评论 4 10
  • 单独从理论上理解可能会有些晦涩,我在这从一个实际的场景进行阐述,一步一步演进Zero-Copy的原理。 概述 我们...
    Yang0503阅读 4,761评论 0 1
  • 这篇文章翻译自Efficient data transfer through zero copy。由于译者水平有限...
    AlstonWilliams阅读 4,514评论 0 2
  • 场景: 从本地磁盘读取数据,然后将这些数据通过socket发送到远端。 read(file, user_buf, ...
    一只搬砖的傻狗阅读 3,587评论 0 0