IO的理解和等待隊列和阻塞和非阻塞的理解


                                                 IO就是讀數據或者寫數據     包含一個時間概念在里面  包含一個system概念 

                                                 讀數據的策略  

                                                 

                           

 

阻塞和非阻塞時設備訪問的兩種基本形式。使用這兩種形式,驅動程序可以靈活地支持阻塞和非阻塞的訪問。select函數底層實現,里面實現用就是等待隊列。

阻塞調用時指調用結果返回之前,當前線程掛起。函數只有得到結果之后才會返回。

 

等待隊列可以用來同步對系統資源的訪問,例如完成一項工作之后,才允許完成另一項工作。尤其是在中斷處理,進程同步和定時等場合,

可以使用等待隊列實現阻塞進程的喚醒,它以隊列為基礎的數據結構,與進程調度機制緊密結合,能夠用於實現內核中的異步事件通知機制,同步對系統資源的訪問。

阻塞就是等待隊列去了。

 

等待隊列需要的操作:

 

 

 

 總結: 

        阻塞和非阻塞在驅動程序中經常用到。 阻塞在IO操作暫時不能進行時,讓進程進入等待隊列。

后者在IO操作暫時不能進行時,立刻返回。阻塞和非阻塞就是由等待隊列實現的。 

    

 

 

 

 

 

 

 

 

 

 

 

                      

                                                


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM