一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

I/O模型

 竹林深處371 2014-11-27
阻塞的文件描述符稱為阻塞I/O,非阻塞的文件描述符稱為非阻塞I/O,這里的文件描述符能應(yīng)用于所有的文件描述符,不僅僅是socket。

針對阻塞I/O執(zhí)行的系統(tǒng)調(diào)用可能無法立刻完成而被操作系統(tǒng)掛起,知道等待的時間發(fā)生為止。socket的基礎(chǔ)API中可能被阻塞的系統(tǒng)調(diào)用包括accept,send,recv和connect。

針對非阻塞I/O執(zhí)行的系統(tǒng)調(diào)用則總是立刻返回,而不管時間是否發(fā)生。可以根據(jù)返回值來判斷執(zhí)行結(jié)果。

所以只有在時間已經(jīng)發(fā)生的情況下執(zhí)行非阻塞的I/O, 才能提高程序的效率。因此非阻塞I/O要和I/O通知機(jī)制一起使用,比如I/O復(fù)用和SIGIO信號。

I/O復(fù)用是最常使用的I/O通知機(jī)制。它指的是,應(yīng)用程序通過I/O復(fù)用函數(shù)向內(nèi)核注冊一組事件,內(nèi)核通過I/O復(fù)用函數(shù)將其中就緒的事件通知給應(yīng)用程序。linux中常用的I/O復(fù)用函數(shù)是select,poll, epoll_wait。

從理論上說,阻塞I/O,I/O復(fù)用以及信號驅(qū)動I/O都是同步I/O模型。因為在這三種I/O模型中,I/O的讀寫操作,都是在I/O時間發(fā)生后,由應(yīng)該程序完成的。而POSIX規(guī)范所定義的異步I/O模型則不同。對異步I/O而言,用戶可以直接對I/O執(zhí)行讀寫操作,這些操作告訴內(nèi)核用戶讀寫緩沖區(qū)的位置,以及I/O操作完成后內(nèi)核通知應(yīng)用程序的方式。異步I/O的讀寫操作總是立刻返回,而不論I/O是否阻塞的,因為真正的讀寫操作已經(jīng)由內(nèi)核接管。也就是說,同步I/O模型要求用戶代碼自行執(zhí)行I/O操作(將數(shù)據(jù)從內(nèi)核緩沖區(qū)讀取到用戶緩沖區(qū),或?qū)⒂脩艟彌_區(qū)的數(shù)據(jù)寫入內(nèi)核緩沖區(qū)),而異步I/O機(jī)制則由內(nèi)核來執(zhí)行I/O操作(數(shù)據(jù)在內(nèi)核緩沖區(qū)和用戶緩沖區(qū)之間的移動式有內(nèi)核在后來來完成)。
I/O模型對比
 I/O模型 讀寫操作和阻塞階段
 阻塞I/O 程序阻塞于讀寫函數(shù)
 I/O復(fù)用 程序阻塞于I/O復(fù)用系統(tǒng)調(diào)用,但可同時監(jiān)聽多個I/O事件,對I/O本身的讀寫操作是非阻塞的
 SIGIO信號 信號觸發(fā)讀寫就緒事件,用戶程序執(zhí)行讀寫事件。程序沒有阻塞階段
 異步I/O 內(nèi)核執(zhí)行讀寫操作并觸發(fā)讀寫完成事件。程序沒有阻塞階段

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    亚洲欧美日产综合在线网| 欧美一区二区三区性视频| 中文字幕日韩无套内射| 五月天综合网五月天综合网| 自拍偷拍一区二区三区| 丰满人妻少妇精品一区二区三区| 欧美自拍系列精品在线| 夫妻性生活动态图视频| 久久精品免费视看国产成人| 91亚洲国产成人久久| 高清一区二区三区四区五区| 亚洲中文字幕有码在线观看| 国产一级内片内射免费看 | 国产又大又黄又粗的黄色| 成人精品亚洲欧美日韩| 国产成人精品在线一区二区三区 | 三级高清有码在线观看| 91天堂素人精品系列全集| 精品国产日韩一区三区| 日韩一区二区三区嘿嘿| 黄片在线免费观看全集| 国产精品不卡免费视频| 久久一区内射污污内射亚洲| 国产一区二区三区不卡| 日韩精品第一区二区三区| 国产精品午夜性色视频| 亚洲精品蜜桃在线观看| 99国产精品国产精品九九| 超碰在线播放国产精品| 欧美日韩视频中文字幕| 日韩欧美高清国内精品| 熟女免费视频一区二区| 好吊一区二区三区在线看| 国产又黄又爽又粗视频在线| 国产偷拍盗摄一区二区| 欧美日本道一区二区三区| 欧美午夜色视频国产精品| 草草草草在线观看视频| 日韩精品综合免费视频| 九九热在线视频观看最新| 日韩在线欧美一区二区|