Linux系统中的I/O模型

来源:互联网 发布:屏幕数据库 编辑:程序博客网 时间:2024/05/01 14:42

1.Linux系统中I/O模型

IO模型有四种:

(1)同步阻塞I/O模型

(2)同步非阻塞I/O模型

(3)异步阻塞I/O模型

(4)异步非阻塞I/O模型


备注,像select、poll以及epoll属于是异步阻塞IO的类别。阻塞与非阻塞是正对进程自身而言的,就是进程在进行IO操作的时候,可不可以处理其他的任务。同步与异步是进程和内核的交互上,例如,进程调用read系统调用时,一定要等到read系统调用返回结果为止,这称之为“同步”。进程调用read系统调用时立即返回,等数据已经准备好后,再通知进程发起read操作,这称之为“异步”


2.各个IO的模型的流程图

(1)同步阻塞IO


(2)同步不阻塞IO


(3)异步阻塞IO


(4)异步不阻塞IO



参见IBM developworks文章《使用异步 I/O 大大提高应用程序的性能》

http://www.ibm.com/developerworks/cn/linux/l-async/

0 0