說說IO(二) IO模型

2021-08-07 09:37:11 字數 894 閱讀 1223

這部分的東西在網路程式設計經常能看到,不過在所有 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分為阻塞io和非阻塞io。阻塞io 資源不可用時,io請求一直阻塞,直到反饋結果 有資料或超時 非阻塞io 資源不可用時,io請求...

說說IO(二) IO模型

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

I O模型 I O模型

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