This chapter covers numerous topics and functions that we lump under the term advanced I/O: nonblocking I/O, record locking, I/O multiplexing (the select
and poll
functions), asynchronous I/O, the readv
and writev
functions, and memory-mapped I/O (mmap
). We need to cover these topics before describing interprocess communication in Chapter 15, Chapter 17, and many of the examples in later chapters.
In Section 10.5, we said that system calls are divided into two categories: the “slow” ones and all the others. The slow system calls are those that can block forever. They include
• Reads that can block the caller forever if data isn’t present with certain file types (pipes, terminal devices, ...
No credit card required