同步阻塞 IO 模型中,应用程序发起 read 调用后,会一直阻塞,直到内核把数据拷贝到用户空间。
用户发起系统调用(read请求)后进入阻塞状态(等待数据)->CPU对磁盘发起IO请求->等待磁盘寻址准备数据->找到数据后对CPU发起中断->将内核缓存区的数据拷贝到用户缓冲区->用户获取数据
即进程会一直阻塞直到数据准备完毕
同步非阻塞IO , 也被认为是IO多路复用
同步非阻塞IO:
IO多路复用:
IO多路复用一个进程/线程处理多个请求,减少了进程/线程的开销
异步 IO 是基于事件和回调机制实现的,也就是应用操作之后会直接返回,不会堵塞在那里,当后台处理完成,操作系统会通知相应的线程进行后续的操作。



