UNIX 網路編程學習(二)I/O模型

來源:互聯網
上載者:User

UNIX下有五種I/O模型

  1. 阻塞I/O模型
  2. 非阻塞I/O模型
  3. I/O複用(select和poll)
  4. 訊號驅動I/O
  5. 非同步I/O
第1種:阻塞I/O模型請求的I/O操作阻塞進程,直到I/O操作完成。如:

第2種:非阻塞I/O模型

當請求I/O操作非得讓進程阻塞不能完成時,不讓進程阻塞,而應返回一個錯誤。如:

第3種:I/O複用模型

調用select或poll,在這兩個系統調用中的某一個上阻塞,而不是阻塞於真正的I/O系統調用。如:

第4種:訊號驅動I/O模型

對I/O操作介面進行訊號驅動處理,並通過系統調用sigaction安裝一個訊號處理常式。系統調用立即返回,進程繼續執行,非阻塞。當資料準備好時會產生SIGIO訊號,我們隨時可調用訊號處理常式處理。如:

第5種:非同步I/O模型

讓核心啟動操作,並在整個操作完成之後通知我們。與訊號驅動I/O的主要區別在於:訊號驅動I/O是核心通知我們何時完成可以啟動一個I/O操作,而非同步I/O模型是由核心通知我們I/O操作何時完成。如:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.