IO模型

2019-11-01  本文已影响0人  任嘉平生愿

5种I/O模型

1.阻塞式I/O模型    

其系统调用直到数据报到达且被拷贝到应用进程的缓冲区中或者发生错误才返回。

2.非阻塞式I/O模型

应用进程持续轮询内核,以查看某个操作是否就绪

3.I/O多路复用(事件驱动)模型

A先发请求给B,B准备好了在执行通知A,然后A在执行并返回结果。

4.信号驱动式I/O(SIGIO)

同上,A先发请求给B,AB中间建立SIGIO信号通道。节约IO

5.异步I/O模型

A先发请求给B,A直接返回,等B准备结束且拿到结果后返回。(回调函数的样子)

IO多路复用:通过一种机制,一个进程可以监视多个描述符,一旦某个描述符就绪能够通知程序进行相应的读写操作。

总结:

IO分为阻塞,非阻塞。异步,非异步。

区别在于A阶段的请求是否需要等待直到完成,是就为阻塞。

结果阶段是由A返回还是由B 若B返回结果则为异步。

BIO

同步阻塞IO

NIO

非阻塞IO

AIO(NIO.2)

异步IO(带回调函数)

上一篇 下一篇

猜你喜欢

热点阅读