這部分的東西在網路程式設計經常能看到,不過在所有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 操作其實分成了兩個步驟 發...