Asynchronous I/O
spche
这个作者很懒,什么都没留下…
展开
-
oracle 中的 asynchronous I/O
异步I/O就是对文件进行读写时,不等读写在硬件设备的完成就返回,当硬件读写完成时可通过信号或回调函数通知调用进程,可以批量的读写,这对频繁的文件读写帮助还是很大的,这个不是新技术,操作系统早就有了,但是应用程序中很少见到,中文写的比较好的http://blog.csdn.net/eroswang/archive/2009/04/20/4095163.aspxhttp://www.360doc.com/content/06/0317/16/2459_81071.shtmlhttp://www.360doc.c原创 2010-08-05 15:04:00 · 1068 阅读 · 0 评论 -
glibc的 Asynchronous I/O 写性能测试
<br />测试主机是AIX6.1<br /> <br />测试数据是向文件中顺序写入 8K * 50000 大小的数据,生成的文件大约为390M<br /> <br />测试对比了两种写操作,一种是aio_write, 另一种是 pwrite64; dwFlags 是open文件时,传入的参数<br /> <br />第一种测试<br /> <br />dwFlags = O_RDWR | O_LARGEFILE | O_DIRECT | O_CREAT | O_EXCL;<br /> <br />pw原创 2010-08-11 15:36:00 · 1482 阅读 · 0 评论 -
libaio-0.3.109 中的 Asynchronous I/O
libaio中的异步IO要比glibc更接近系统内核,它对内核的调用是通过嵌入式汇编实现的,实际是对系统内核的封装,里面没什么东西关于内核嵌入式汇编的调用,看下面这两个http://jianlee.ylinux.org/Computer/Kernel/system_call_list.htmlhttp://zhoulifa.bokee.com/2821589.html关于O_DIRECT选项的,看这个http://www.ukuug.org/events/linux2001/papers/html/AArc原创 2010-08-09 15:58:00 · 1537 阅读 · 0 评论 -
libaio-oracle-0.3.0
<br />目前oracle公布的异步IO的实现与glibc的结构体有一些类似,只不过没有多线程,而是直接调用了libaio中的函数<br /> <br />/*<br /> * we always use a 64bit off_t when communicating<br /> * with userland. its up to libraries to do the<br /> * proper padding and aio_error abstraction<br /> *<br /> *原创 2010-08-10 10:08:00 · 1234 阅读 · 0 评论 -
libaio 的 Asynchronous I/O 测试代码
需要libaio libaio-devel的包,到http://rpm.pbone.net/index.php3去下这是模仿libaio-oracle写的,哪位好人去做个测试,把结果发上来,最好能和glibc的在相同环境下对比对比代码如有不对的地方,请指出#include #include #include #include #include #include #include #include #include #include #include #原创 2010-08-11 17:22:00 · 2474 阅读 · 0 评论 -
glibc2.9 中的 Asynchronous I/O
传递要读或写内容的控制块/* Asynchronous I/O control block. */struct aiocb{ int aio_fildes; /* File desriptor. */ int aio_lio_opcode; /* Operation to be performed. */ int aio_reqprio; /* Reque原创 2010-08-06 14:23:00 · 886 阅读 · 0 评论