目录 文章目录 目录 Linux I/O 缓存背景 为什么需要零拷贝? 零拷贝技术(Zero-Copy) 方法一:用户态直接 I/O 方法二:mmap + write 方法三:Sendfile 方法四:Sendfile + DMA gather copy 方法五:Splice 方法六:写时复制 方法七:缓冲区共享 零拷贝对比 参考文章 Linux I/O 缓存背景 当请求文件服务器的下载功能时,服务端程序所做的事情是:将服务器磁盘中的文件不做修改地从已连接的 Socket 发送到客户端,通常使用下面的代码完成: while ((n = read(diskfd, buf, BUF_SIZE)) > 0) write<