說說IO(二) IO模型

2021-08-25 14:54:53 字數 1005 閱讀 6198

這部分的東西在網路程式設計經常能看到,不過在所有io處理中都是類似的。

io請求的兩個階段

等待資源階段:io請求一般需要請求特殊的資源(如磁碟、ram、檔案),當資源被上乙個使用者使用沒有被釋放時,io請求就會被阻塞,直到能夠使用這個資源。

使用資源階段:真正進行資料接收和發生。

舉例說就是排隊服務。

等待資料階段,io分為阻塞io和非阻塞io。

阻塞io:資源不可用時,io請求一直阻塞,直到反饋結果(有資料或超時)。

非阻塞io:資源不可用時,io請求離開返回,返回資料標識資源不可用

使用資源階段,io分為同步io和非同步io。

同步io:應用阻塞在傳送或接收資料的狀態,直到資料成功傳輸或返回失敗。

非同步io:應用傳送或接收資料後立刻返回,資料寫入os快取,由os完成資料傳送或接收,並返回成功或失敗的資訊給應用。

按照unix的5個io模型劃分

從效能上看,非同步io的效能無疑是最好的。

各種io的特點

說說IO(二) IO模型

這部分的東西在網路程式設計經常能看到,不過在所有 io 處理中都是類似的。io 請求的兩個階段 等待資源階段 io 請求一般需要請求特殊的資源 如磁碟 ram 檔案 當資源被上乙個使用者使用沒有被釋放時,io 請求就會被阻塞,直到能夠使用這個資源。使用資源階段 真正進行資料接收和發生。舉例說就是排隊...

說說IO(二) IO模型

這部分的東西在網路程式設計經常能看到,不過在所有io處理中都是類似的。io請求的兩個階段 使用資源階段 真正進行資料接收和發生。舉例說就是排隊和服務。在等待資料階段,io分為阻塞io和非阻塞io。阻塞io 資源不可用時,io請求一直阻塞,直到反饋結果 有資料或超時 非阻塞io 資源不可用時,io請求...

I O模型 I O模型

輸入 輸出 i o 是在主存和外部裝置 例如磁碟驅動器 終端和網路 之間複製資料的過程。輸入操作是從 i o 裝置複製資料到主存,輸出資料是從主存複製資料到 i o 裝置。描述的是使用者執行緒與核心的互動方式 描述的是使用者執行緒呼叫核心 i o 操作的方式 乙個 i o 操作其實分成了兩個步驟 發...