Simplified matrix of basic Linux I/O models:
![](https://i-blog.csdnimg.cn/blog_migrate/b8eb42bcb9b787bcbd2cf0a58b324c66.png)
Synchronous blocking I/O
![](https://i-blog.csdnimg.cn/blog_migrate/8deb0030b77ef8ba6a096e0500db72c7.png)
Synchronous non-blocking I/O
![](https://i-blog.csdnimg.cn/blog_migrate/39214078b8de4a5ca9689f4aaaec5856.png)
Asynchronous blocking I/O
![](https://i-blog.csdnimg.cn/blog_migrate/2f6669277096ba1115f17e313c6a186c.png)
Asynchronous non-blocking I/O (AIO)
![](https://i-blog.csdnimg.cn/blog_migrate/dc1c7d1c509c11687571017e0d8f2e5a.png)
http://www.ibm.com/developerworks/library/l-async/
http://www.ibm.com/developerworks/library/l-async/