mmap+write方式
2022-05-22 10:31:18 0 举报
mmap+write方式
作者其他创作
大纲/内容
内核空间
磁盘
DMA Copy
write()
用户空间
read()
虚拟地址映射不需要copy
整体流程的核心区别就是,把数据读取到内核缓冲区后,应用程序进行写入操作时,直接是把内核的Read Buffer的数据 复制到 Socket Buffer 以便进行写入,这次内核之间的复制也是需要CPU参与的。注意:最后把Socket Buffer数据拷贝到很多地方,统称protocol engine(协议引擎)这个流程就少了一个CPU Copy,提升了IO的速度。不过发现上下文的切换还是4次,没有减少,因为还是要应用程序发起write操作。那能不能减少上下文切换呢?
内核缓冲区Read Buffer
内核缓冲区Socket Buffer
应用程序缓冲区
CPU Copy
应用程序
0 条评论
下一页