为什么说管道和消息队列要经过四次拷贝?这四次代表了什么?从用户空间到内核空间,再从内核空间到用户空间不应该是两次吗
第一次:读取磁盘文件到操作系统内核缓冲区;第二次:将内核缓冲区的数据,copy 到应用程序的 buffer;第三步:将应用程序 buffer 中的数据,copy 到 socket 网络发送缓冲区;第四次:将 socket buffer 的数据,copy 到网卡,由网卡进行网络传输