浅谈零拷贝
零拷贝:
零拷贝是指计算机执行IO操作时,CPU不需要将数据从一个存储区域复制到另一个存储区域,从而可以减少上下文切换以及CPU的拷贝时间。它是一种I/O操作优化技术。
Linux中的零拷贝:
零拷贝并不是没有拷贝数据,而是减少用户态/内核态的切换次数以及CPU拷贝的次数。
-
mmap方式:通过内存的映射将内核缓冲区映射到用户缓冲区中,减少cpu将数据从内核缓冲区拷贝到用户缓冲区的过程
-
sendfile方式:通过dma将外设的数据拷贝进内核缓冲区,再通过dma将内核缓冲区的数据拷贝到另一个外设,其中没有cpu参与数据的拷贝(Linux)

浙公网安备 33010602011771号