IO
文章平均质量分 79
QuantumBroken
这个作者很懒,什么都没留下…
展开
-
传说中的零拷贝
https://blog.csdn.net/weixin_42096901/article/details/103017044https://www.jianshu.com/p/193cae9cbf07硬件中断DMAlinuxread,write:图一,4次copy,2次系统调用即4次上下文切换mmap:图二,3次copy,2次系统调用4次上下文切换sendFile:图三,3次copy,1次系统调用2次上下文切换。图四,配合硬件的DMA支持,实现2次copy。https原创 2021-09-25 16:58:31 · 113 阅读 · 0 评论 -
IO笔记之5个字
同步和异步,阻塞和非阻塞同步是线程在发起调用后没有结果就不返回5中IO模型阻塞 I/O(blocking IO)在linux中,默认情况下所有的socket都是blocking。一个典型的读操作流程大概是这样:当用户进程调用了recvfrom这个系统调用,kernel就开始了IO的第一个阶段:准备数据(对于网络IO来说,很多时候数据在一开始还没有到达。比如,还没有收到一个完整的UDP包。这个时候kernel就要等待足够的数据到来)。这个过程需要等待,也就是说数据被拷贝到操作系统内核的缓冲区原创 2021-07-27 21:03:39 · 46 阅读 · 0 评论 -
IO/网络 笔记
网络模型-4层和7层每层都有啥TCPHTTPsocket网络中不同主机上的应用进程之间进行双向通信的端点的抽象。重点是应用通信,ip+端口,是个API/接口。是对TCP/IP协议的进一步封装。linux5中IO模型重点在于两个阶段:准备数据,对于网络IO来说,很多时候数据在一开始还没有到达。比如,还没有收到一个完整的UDP包。这个时候kernel就要等待足够的数据到来kernel中拷贝到用户内存阻塞和非阻塞说的是等待数据阶段,用户线程是否阻塞同步和异步说的是在kernel中原创 2021-07-27 21:02:48 · 199 阅读 · 0 评论