Linux I/O models:修订间差异

来自WHY42
imported>Soleverlee
imported>Soleverlee
无编辑摘要
第1行: 第1行:
=blocking IO=
=blocking IO=
阻塞IO模型是最常见的IO模型了,对于所有的“慢速设备”(socket、pipe、fifo、terminal)的IO默认的方式都是阻塞的方式。阻塞就是进程放弃cpu,让给其他进程使用cpu。进程阻塞最显著的表现就是“进程睡眠了”。阻塞的时间通常取决于“数据”是否到来。
阻塞IO模型是最常见的IO模型了,对于所有的“慢速设备”(socket、pipe、fifo、terminal)的IO默认的方式都是阻塞的方式。阻塞就是进程放弃cpu,让给其他进程使用cpu。进程阻塞最显著的表现就是“进程睡眠了”。阻塞的时间通常取决于“数据”是否到来。
[[Image:Blocking-IO.png|600px]]
[[Image:Blocking_IO.jpg|600px]]


=nonblocking IO=
=nonblocking IO=
[[Image:Noneblocking_IO.jpg|600px]]
=IO multiplexing=
=IO multiplexing=
[[Image:IO_Multiplexing.png|600px]]
=signal driven IO=
=signal driven IO=
[[Image:Signal_Driven_IO.jpg|600px]]
=asynchronous IO=
=asynchronous IO=
[[Image:Asynchronous_IO.jpg|600px]]


*http://www.linuxidc.com/Linux/2015-07/120337.htm
*http://www.linuxidc.com/Linux/2015-07/120337.htm
*http://blog.csdn.net/lovingprince/article/details/6426009
*http://blog.csdn.net/lovingprince/article/details/6426009
[[Category:Linux/Unix]]
[[Category:Linux/Unix]]

2016年8月18日 (四) 01:47的版本

blocking IO

阻塞IO模型是最常见的IO模型了,对于所有的“慢速设备”(socket、pipe、fifo、terminal)的IO默认的方式都是阻塞的方式。阻塞就是进程放弃cpu,让给其他进程使用cpu。进程阻塞最显著的表现就是“进程睡眠了”。阻塞的时间通常取决于“数据”是否到来。

nonblocking IO

IO multiplexing

signal driven IO

asynchronous IO