IO模型——進程工作的方式

I/O模型

模型:阻塞型、非阻塞型、復用型、信號驅動型、異步

同步/異步:

關注消息通知機制

    

消息通知:

         同步:等待對方返回消息

         異步:被調用者通過狀態、通知或回調機制通知調用者被調用者的運行狀態

一次IO請求,都會由兩階段組成:

第一步:等待數據,即數據從磁盤到內核內存

第二步:復制數據,即數據內核內存到進程內存

阻塞/非阻塞:

關注調用者在等待結果返回之前所處的狀態

    

阻塞:blocking,調用結果返回之前,調用者被掛起

IO模型——進程工作的方式

    

非阻塞:nonblocking,調用結果返回之前,調用者不會被掛起

IO模型——進程工作的方式

復用型IO調用:

select():最大只支持1024個連接,http的prefork和work都是此模型

poll():

3.jpg

event-driven:<信號驅動型>

epoll(Linux):libevent

Kqueue(BSD):

Solaris:/dev/poll

4.jpg

異步IO模型:

 當一個異步過程調用發出后,調用者不能立刻得到結果。實際處理這個調用的部件在完成后,通過狀態、通知和回調來通知調用者的輸入輸出操作

5.jpg

5個I/O模型的比較:

6.jpg

原創文章,作者:megedugao,如若轉載,請注明出處:http://www.www58058.com/55510

(1)
megedugaomegedugao
上一篇 2016-10-25
下一篇 2016-10-25

相關推薦

  • 2016-08-12博客作業

    德摩根定理       在命題邏輯和邏輯代數中,德摩根定律(或稱德摩根定理)是關于命題邏輯規律的一對法則。奧古斯塔斯·德摩根首先發現了在命題邏輯中存在著下面這些關系: 非(P 且 Q)=(非 P)或(非 Q) 非(P 或 Q)=(非 P)且(非 Q)     …

    Linux干貨 2016-08-15
  • N26-第十一周

    1、詳細描述一次加密通訊的過程,結合圖示最佳。     發送方:1、使用單項加密算法計算數據文件的特征碼2、使用發送方私鑰加密特征碼3、使用對稱加密算法生成一對臨時密鑰4、使用臨時密鑰加密數據文件和加密后的特征碼5、使用接收方的公鑰加密使用臨時密鑰加密后的數據和特征碼和臨時密鑰的解密密碼,并將之發送給接收方 接收方1、使用接收方的私鑰解密…

    2017-04-09
  • MAN 手冊各章節功能介紹及快捷鍵鍵位整理

    man手冊各章節功能介紹及快捷鍵鍵位整理 Linux系統提供了相對比較豐富的幫助手冊(man),man是manual的縮寫,是系統中提供相關條目參考信息的命令。 Ⅰ、man手冊分為多個section 使用手冊:壓縮格式的文件,有章節之分; 存儲位置/usr/share/man    man1,man2,man3,man4,man5,man…

    Linux干貨 2016-10-16
  • Linux啟動和內核管理

    Linux啟動和內核管理   CentOS 5和6的啟動流程服務管理Grub管理自制Linux啟動排錯編譯安裝內核   Linux組成Linux: kernel+rootfskernel: 進程管理、內存管理、網絡管理、驅動程序、文件系統、安全功能rootfs:程序和glibc庫:函數集合, function, 調用接口(頭文件負責描述)…

    Linux干貨 2017-09-04
  • N25-Bazinga-第二周作業

    1.Linux文件管理類命令 命令 功能 命令 功能 pwd 顯示當前目錄 ls 顯示目錄下的內容 cd 改變所在目錄 cat 顯示文件的內容 grep 在文件中查找字符串 cp 復制文件 touch 創建文件 mv 移動文件 rm 刪除文件 rmdir 刪除目錄 1.1 pwd命令 該命令的英文解釋為print working&nbsp…

    Linux干貨 2016-12-13
  • 第一次發微博

    第一次申請微博,第一次發微博,覺得很難

    Linux干貨 2017-01-06
欧美性久久久久