ChinaUnix.net
相关文章推荐:

linux 异步io

linux® 中最常用的输入/输出(I/O)模型是同步 I/O。在这个模型中,当请求发出之后,应用程序就会阻塞,直到请求满足为止。这是很好的一种解决方案,因为调用应用程序在等待 I/O 请求完成时不需要使用任何中央处理单元(CPU)。但是在某些情况中,I/O 请求可能需要与其他进程产生交叠。可移植操作系统接口(POSIX)异步 I/O(Aio)应用程序接口(API)就提供了这种功能。在本文中,我们将对这个 API 概要进行介绍,并来了...

by itlanger - Linux文档专区 - 2008-12-20 16:29:15 阅读(1845) 回复(0)

相关讨论

linux的I/O机制经历了一下几个阶段的演进: 1. 同步阻塞I/O: 用户进程进行I/O操作,一直阻塞到I/O操作完成为止。 2. 同步非阻塞I/O: 用户程序可以通过设置文件描述符的属性O_NONBLOCK,I/O操作可以立即返回,但是并不保证I/O操作成功。 3. 异步事件阻塞I/O: 用户进程可以对I/O事件进行阻塞,但是I/O操作并不阻塞。通过select/poll/epoll等函数调用来达到此目的。 4. 异步时间非阻塞I/O: 也叫做异步I/O(Aio),用户程序可以通过向内...

by liebo - Linux文档专区 - 2010-01-01 19:21:07 阅读(974) 回复(0)

那位能帮忙解释一些?有相关资料吗?谢谢!

by zealotcat - Linux论坛 - 2004-10-16 12:07:25 阅读(750) 回复(0)

那位能帮忙解释一些?有相关资料吗?谢谢!

by zealotcat - Linux系统管理 - 2004-10-16 12:07:25 阅读(962) 回复(0)

异步io是相对于同步io而言,主要用于提高系统利用率,和提高程序效率,异步io(aio)成了proix得一个标准,在linux2.6中引入了aio这个概念。solaris,freebsd也都对此进行了支持。 同步io一般在读写文件时会一直等待,等读写完成后,执行下一条语句。异步io就不同了,在进行读写文件操作时,程序会继续执行别的操作,等读写完成后利用回调函数或者信号通知主函数。 下面是使用aio的例子程序 #include stdio.h> #include un...

by fanyuanmail - Linux文档专区 - 2009-04-14 00:04:07 阅读(1058) 回复(0)

谁知道? 谢谢

by Kamus_cu - Linux系统管理 - 2007-03-15 22:41:54 阅读(861) 回复(0)

像aio_read/ io_submit. 求教。谢谢

by rwen2012 - C/C++ - 2007-01-12 13:44:12 阅读(1107) 回复(1)

代码片段如下: (首先通过io_setup分配了i个异步io的请求空间) n1 = io_submit(pt_aio->ctx, i, pt_aio->iocbpp);//提交i个异步io请求 n2 = io_getevents(pt_aio->ctx, i, i, events, NULL);//等待被提交的io请求全部完成 其中i = 200, 其他参数也已经(我认为)成功赋值 但是返回值为 n1=54。 意思是不是说200个异步io请求中有54个已经被成功提交?那剩下的146个呢? 但是奇怪的是n2=200, 为什么明明只成功提交了54个异步io请...

by rick_cheung - Linux环境编程 - 2011-04-27 22:14:45 阅读(1704) 回复(1)

本帖最后由 rick_cheung 于 2011-01-14 14:36 编辑 我想使用linux异步io 做一个写文件的测试,没有成功。请教各位原因何在。谢谢! 程序如下: #include io.h> #include io.h> #include #include #include struct aiocb my_aiocb; void aio_completion_handler( sigval_t sigval); void setup_io(int fd, char *buf) { //struct aiocb my_aiocb; int ret; ...

AIO

by rick_cheung - Linux环境编程 - 2012-01-18 11:21:08 阅读(3126) 回复(1)
by zabll - Linux系统管理 - 2012-07-09 14:23:29 阅读(2618) 回复(1)

Hello all: 关于linux下同步和异步io操作,我有一个疑问:针对异步io操作,linux专门提供了一组异步io操作函数族,即aio_xxx 问题是,对于普通io操作在open的时候,如果我没有指定NONBLOCK,那么对此文件描述符的操作就都是异步的(即进程并不会等待io操作完成才返回),那么这和用aio_xxx函数族有什么区别吗? 还是说aio_xxx函数族只是提供了另外一种方式?而这种方式不用aio_xxx还是可以实现?

by NewCore - Linux环境编程 - 2010-10-30 16:07:26 阅读(11174) 回复(17)