I/O 模型,阻塞非阻塞,同步非同步
一個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而言,其實是一個非同步非阻塞模型。