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 11:08
下一篇 2016-10-25 16:27

相關推薦

  • linux發行版的基礎目錄名稱命名法則及功用規定。

    Linux文件系統:         Linux:glibc標準C庫                  &nb…

    Linux干貨 2016-10-30
  • 馬哥教育網絡班22期+第15周課程練習

    1、總結sed和awk的詳細用法; sed [OPTION]…  'script'  [input-file] … script: 地址定界編輯命令 常用選項: -n:不輸出模式空間中的內容至屏幕; -e script, –expression=sc…

    Linux干貨 2016-12-14
  • Linux 之LVM

    一 LVM 簡介:     LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,LVM將一個或多個硬盤的分區在邏輯上集合,相當于一個大硬盤來使用,當硬盤的空間不夠使用的時候,可以繼續將其它的硬盤的分區加入其中,這樣可以實現磁盤空間的動態管理,相對于普通的磁盤分區有很大的靈活性。LVM的工作原理其…

    Linux干貨 2016-03-01
  • Linux基礎學習總結(四)

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 cp -r /etc/skel/ /home/tuser1chmod -R 700 /home/tuser1ll -d /home/tuser1 2、編輯/etc/group文件,添加組hadoop。 echo “hadoo…

    Linux干貨 2016-10-03
  • 基于虛擬用戶控制的ftp服務

    FTP作為最常見的文件共享服務,可提供文件的上傳,下載等服務;其用戶可分為三類: 匿名用戶:即不需要用戶賬號與密碼即可登錄FTP服務器,此時登錄用戶將會被映射為系統上的ftp用戶。 系統用戶:即用FTP服務器上的用戶賬號與密碼登錄FTP服務器。此種方法雖然在一定程度上對登錄做出了限制,但由于系統賬號的相關權限,則增大了FTP服務器的系統風險; 虛擬用戶:用戶…

    Linux干貨 2016-10-23
  • Linux磁盤管理及其相關命令使用

    Linux磁盤及文件系統    CPU MEMORY(RAM) I/O    I/O:disks entercard    Disks:持久存儲數據    接口類型:      IDE(ata):并行 133MB/s     &n…

    Linux干貨 2016-08-26
欧美性久久久久