一个IO操作,需要2步。
以read为例, read --> sys_Read --> 驱动中的buffer数据 OR 网络中的udp/tcp报文 等等
同步/异步
是否阻塞在第二步。 也就是 sys_Read --> 驱动buffer / 网络udp/tcp报文
阻塞/非阻塞
是否阻塞在第一步。也就是 read --> sys_read
注意:select/poll/epoll 阻塞在select本身,而不是read/write。对于read/write而言,其实是一个异步非阻塞模型。