The problems with IO APIs
● When you call read(2) your process is put to
sleep until the read ends.
● This sleep lasts quite some time since you are
not supposed to wake up until the buffer is full
and reading from disk takes quite some time.
● If the device you are reading from is not disk,
but rather network or RAM file system then the
sleep time could be much faster.