I/O复用

1、I/O模型

1、阻塞式IO;

       等待数据从内核复制到用户空间(recvfrom)

2、非阻塞式IO;

       当没有数据准备好时,返回一个错误,然后继续调用请求(recvfrom)

3、IO复用(select和poll);

       有了IO复用,我们可以调用select和poll,阻塞在这两个系统中的某一个之上,而不是阻塞真正的IO系统调用上。

4、信号驱动式IO(SIGIO);

       我们也可以用信号,让内核在描述符就绪时发送SIGIO信号通知我们。

      先建立SIGIO信号处理程序(sigaction系统调用),之后数据报准备好,内核递交SIGIO通知应用程序,应用程序系统调用recvfrom将数据从内核复制到用户空间。

5、异步IO;

      告知内核启动某个操作,并让内核在整个操作完成后通知我们。

      应用程序调用aio_read函数,无数据报准备好时,返回;当有数据报准备好时,将数据从内核复制到用户空间,递交在aio_read中指定的信号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值