IO模型
2019-08-14 23:31:41 13 举报
nginx IO多路复用
作者其他创作
大纲/内容
无数据报准备好
kernel
处理数据报
进程反复调用recvfrom等待返回成功指示轮回
Worker
等待数据
aio.read
内核
进程阻塞于recvfrom的调用
EWOULDBLOCK
IO多路复用模型
复制完成
系统调用
返回成功指示
拷贝成功
磁盘
返回可读条件
递交在aio_read中指定的信号
recvfrom
将数据从内核拷贝到用户空间
应用进程
将数据中内核拷贝到用户空间
数据报准备好复制数据报
进程继续执行
将数据从内核复制到用户空间
拷贝数据报
复制数据报
用户空间
Master
数据报准备好
信号处理程序处理数据报
进程受阻于select调用,等待可能多个套接字中的任一个变为可读
返回
拷贝完成
同步非阻塞IO模型
同步阻塞IO模型
数据复制到应用缓冲期间进程阻塞
异步IO模型
select
0 条评论
下一页