5种io模式
1)阻塞I/O(blocking I/O)
發起請求,等待數據報準備好,拷貝數據,數據返回指令
應用程序調用一個IO函數,導致應用程序阻塞,等待數據準備好。 如果數據沒有準備好,一直等待….數據準備好了,從內核拷貝到用戶空間,IO函數返回成功指示。
2)非阻塞I/O?(nonblocking I/O)
輪訓數據報什么時候準備好,準備好之后阻塞拷貝數據,數據返回指令
3) I/O復用(select 和poll)?(I/O multiplexing)
就是應用函數select poll epoll 監聽就緒的設備 select就是遍歷查詢每個設備的就緒狀態 如果就緒再返回,接著阻塞拷貝數據
?
4)信號驅動I/O?(signal driven I/O (SIGIO))
5)異步I/O?(asynchronous I/O (the POSIX aio_functions))
?
首先來講一下linux的組成,linux的每一個對象都可以稱為文件,比如顯示器、?打印機、驅動程序等等,對于文件會有一個描述符叫做fd(file description)。
?
這個文章講的很好 http://blog.csdn.net/jay900323/article/details/18141217/
轉載于:https://www.cnblogs.com/bierxiaobia/p/5901366.html
總結
- 上一篇: JavaScript区分click事件和
- 下一篇: hdu 1005 1021 递归超限 找