IO就是讀數據或者寫數據 包含一個時間概念在里面 包含一個system概念
讀數據的策略
阻塞和非阻塞時設備訪問的兩種基本形式。使用這兩種形式,驅動程序可以靈活地支持阻塞和非阻塞的訪問。select函數底層實現,里面實現用就是等待隊列。
阻塞調用時指調用結果返回之前,當前線程掛起。函數只有得到結果之后才會返回。
等待隊列可以用來同步對系統資源的訪問,例如完成一項工作之后,才允許完成另一項工作。尤其是在中斷處理,進程同步和定時等場合,
可以使用等待隊列實現阻塞進程的喚醒,它以隊列為基礎的數據結構,與進程調度機制緊密結合,能夠用於實現內核中的異步事件通知機制,同步對系統資源的訪問。
阻塞就是等待隊列去了。
等待隊列需要的操作:
總結:
阻塞和非阻塞在驅動程序中經常用到。 阻塞在IO操作暫時不能進行時,讓進程進入等待隊列。
后者在IO操作暫時不能進行時,立刻返回。阻塞和非阻塞就是由等待隊列實現的。