码迷,mamicode.com
首页 > 其他好文 > 详细

5种io模式

时间:2016-09-23 19:48:47      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:

1)阻塞I/O(blocking I/O)

发起请求,等待数据报准备好,拷贝数据,数据返回指令

应用程序调用一个IO函数,导致应用程序阻塞,等待数据准备好。 如果数据没有准备好,一直等待….数据准备好了,从内核拷贝到用户空间,IO函数返回成功指示。

2)非阻塞I/O (nonblocking I/O)

轮训数据报什么时候准备好,准备好之后阻塞拷贝数据,数据返回指令


3) I/O复用(select 和poll) (I/O multiplexing)

就是应用函数select poll epoll 监听就绪的设备 select就是遍历查询每个设备的就绪状态 如果就绪再返回,接着阻塞拷贝数据

 

4)信号驱动I/O (signal driven I/O (SIGIO))


5)异步I/O (asynchronous I/O (the POSIX aio_functions))

 

首先来讲一下linux的组成,linux的每一个对象都可以称为文件,比如显示器、 打印机、驱动程序等等,对于文件会有一个描述符叫做fd(file description)。

 

这个文章讲的很好 http://blog.csdn.net/jay900323/article/details/18141217/

5种io模式

标签:

原文地址:http://www.cnblogs.com/bierxiaobia/p/5901366.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!