参考答案
结论:零拷贝是利用DMA等技术减少数据在内存间冗余拷贝的IO优化手段。核心要点:1.DMA(直接内存访问)让磁盘或网卡等外设直接与内存传输数据,无需CPU逐字节拷贝;2.传统读文件发送需磁盘到内核缓冲区、内核到用户、用户到socket、socket到网卡共4次拷贝(2次DMA+2次CPU);3.零拷贝如sendfile系统调用,磁盘DMA到内核缓冲区,网卡DMA从内核取,仅2次DMA无CPU拷贝;4.mmap映射文件到用户空间,减少一次拷贝但仍有CPU复制。价值:降低CPU占用和上下文切换。