Thecoastlines 2022-05-29 09:53 采纳率: 73.7%
浏览 140

为什么说管道和消息队列要经过四次拷贝?

为什么说管道和消息队列要经过四次拷贝?这四次代表了什么?从用户空间到内核空间,再从内核空间到用户空间不应该是两次吗

  • 写回答

1条回答 默认 最新

  • 皮蛋不吃粥 2022-05-29 10:19
    关注

    第一次:读取磁盘文件到操作系统内核缓冲区;
    第二次:将内核缓冲区的数据,copy 到应用程序的 buffer;
    第三步:将应用程序 buffer 中的数据,copy 到 socket 网络发送缓冲区;
    第四次:将 socket buffer 的数据,copy 到网卡,由网卡进行网络传输

    评论

报告相同问题?

问题事件

  • 创建了问题 5月29日