标签:linux aio locking inux 复用 函数 行数据 用户态 调用
read
IO中断,进入内核态,操作系统通知控制器/适配器
进行IO操作read
操作完成,控制器
发起一个中断通知操作系统已经读取完成read
IO中断,可以设置buf地址
或者callback
函数,进入内核态,操作系统通知控制器进行IOread
操作read
操作完成,控制器
发起一个中断通知操作系统已经读取完成buf
,或者调用callback
函数linux异步IO的接口一般是使用AIO接口,而且是使用buf的方式进行数据读取。原因应该是,直接让内核调用用户代码会过于危险。
blocking 与 nonblocking 是同步IO的不同方式。nonblocking 一般要与select或者epoll之类的IO event函数配合使用,利用IO多路复用与多线程机制提高IO吞吐量。
同步与异步IO && blocking 与nonblocking 原理
标签:linux aio locking inux 复用 函数 行数据 用户态 调用
原文地址:https://www.cnblogs.com/goerzh/p/12851682.html