常用于网络文件传输

 

 

正常的网络传输  4次 上下文切换与拷贝      如下图

 

 

 

 

 

而零拷贝使用诸如   mmap+write 或 sendfile ,只有 一次系统调用(sendfile) , DMA复制(2次)和  内核缓冲区和网络缓冲区 的复制(1次) 

sendfile 允许数据直接从一个文件描述符发送到另一个文件描述符。例如,在文件传输中,直接将文件页缓存的数据写入到网络的 socket 缓冲区中。

 

补充下mmap系统调用

mmap(内存映射)是一种将文件直接映射到内存的技术。即 操作内存--->操作文件

 

posted on 2024-10-05 16:43  towboat  阅读(18)  评论(0)    收藏  举报