后端岗位面试题更新 2026-08-05

请解释数据从磁盘读取到通过网卡发送的完整流程中,在传统内核路径下数据会在内存中被拷贝几次?并说明零拷贝技术如何减少这些拷贝。

深圳虾皮信息科技有限公司后端开发互联网/IT性能优化系统设计技术原理Linux

考察说明

考察操作系统I/O路径、用户态与内核态切换及零拷贝原理

回答思路

  1. 准确描述读文件到发送网络数据的标准流程及两次上下文切换
  2. 指出传统路径中DMA拷贝与CPU拷贝的次数(通常为4次拷贝)
  3. 说明read、write系统调用过程中的用户缓冲区与内核缓冲区角色
  4. 解释sendfile、mmap、splice等零拷贝机制减少的拷贝次数
  5. 结合DMA技术说明设备与内存间传输不占用CPU