栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

IO多路复用理解及应用

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

IO多路复用理解及应用

IO多路复用技术

IO多路复用机制带来了

技术原理概述

IO多路复用技术是为了解决进程或线程阻塞到某个I/O系统调用而出现的技术,使进程不阻塞于某个特定的I/O系统调用。
在IO多路复用技术描述前,讲解下同步,异步,阻塞,非阻塞的概念。

技术原理-细讲一

linux网络IO中涉及到的模型如下:
1)阻塞式IO
2)非阻塞式IO
3)IO多路复用
4)信号驱动IO
5)异步IO

技术原理-同步/异步

在学习IO模型的时候,我们必须明确一个概念,处理IO的时候,阻塞和非阻塞都是同步的IO。只有使用了特殊的API才是异步IO,例如Linux网络中的AIO。
同步(select/poll/epoll)
异步(Linux(AIO),Windows(IOCP))

再看下POSIX对同步和异步这两个术语的定义:
同步IO操作:导致请求进程阻塞,直到IO操作完成
异步IO操作:不导致请求进程阻塞

通俗的理解就是同步和异步
同步:当执行系统调用read时,需要用户等待内核完成从内核缓冲区到用户缓冲区的数据拷贝。
异步:当执行异步IO操作例如aio_read时,用户不需要等待,只需要接收内核完成操作的通知,由内核来完成数据的读取。

技术原理-细讲三-阻塞/非阻塞

在知晓阻塞和非阻塞都是同步IO

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/941573.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号