I/O model
1block IO (BIO)
2Non-block IO (NIO)
3IO multiplexing (select/ pselect, poll/ epoll)
4Sigal IO
5asynchronized IO (AIO)
IO are divided two parts
first is waiting the data ready
second is copy the data from the core to the userspace
1~4 are most the same.
BIO block
NIO keep polling
IO mutilplexing block on select/poll
SIGIO block and wait for the signal from the core
they all block when data copy from core to user space
AIO does not need to wait.